• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Klasör içindeki dosyaların isim listesini oluşturma

Katılım
10 Haziran 2014
Mesajlar
45
Excel Vers. ve Dili
Excel365 İngilizce
Merhaba,
Bir klasörün içindeki tüm dosyaların isim listesini alabileceğim kodlar ile ilgili yardımlarınızı rica ediyorum. Şöyle ki:
"C:\Taramalar" klasörü altındaki tüm dosyaların isimlerini uzantıları ile birlikte "C:\Taramalar\Liste.xls" dosyasında "A2:Ax" aralığında alt alta listelemem gerekiyor. Bunu bir butona atanacak makro kodları ile yapmak istiyorum.
Yardımlarınız için şimdiden teşekkür ederim.
 
Merhaba,
Bir klasörün içindeki tüm dosyaların isim listesini alabileceğim kodlar ile ilgili yardımlarınızı rica ediyorum. Şöyle ki:
"C:\Taramalar" klasörü altındaki tüm dosyaların isimlerini uzantıları ile birlikte "C:\Taramalar\Liste.xls" dosyasında "A2:Ax" aralığında alt alta listelemem gerekiyor. Bunu bir butona atanacak makro kodları ile yapmak istiyorum.
Yardımlarınız için şimdiden teşekkür ederim.

Merhaba,

Aşağıdaki kodları yabancı bir siteden buldum. İstediğiniz işlevi yerine getiriyor.

Kodları Alt+f11'e basıp module atın ve çalıştırın. Sonra sizden neredeki klasörleri görmek istediğinizi soracak. Seçip yapabilirsiniz.

Kaynak: https://www.extendoffice.com/documents/excel/2219-excel-list-all-folders-and-subfolders.html

Kod:
Sub FolderNames()
'Update 20141027
Application.ScreenUpdating = False
Dim xPath As String
Dim xWs As Worksheet
Dim fso As Object, j As Long, folder1 As Object
With Application.FileDialog(msoFileDialogFolderPicker)
    .Title = "Choose the folder"
    .Show
End With
On Error Resume Next
xPath = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1) & "\"
Application.Workbooks.Add
Set xWs = Application.ActiveSheet
xWs.Cells(1, 1).Value = xPath
xWs.Cells(2, 1).Resize(1, 5).Value = Array("Path", "Dir", "Name", "Date Created", "Date Last Modified")
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder1 = fso.getFolder(xPath)
getSubFolder folder1
xWs.Cells(2, 1).Resize(1, 5).Interior.Color = 65535
xWs.Cells(2, 1).Resize(1, 5).EntireColumn.AutoFit
Application.ScreenUpdating = True
End Sub
Sub getSubFolder(ByRef prntfld As Object)
Dim SubFolder As Object
Dim subfld As Object
Dim xRow As Long
For Each SubFolder In prntfld.SubFolders
    xRow = Range("A1").End(xlDown).Row + 1
    Cells(xRow, 1).Resize(1, 5).Value = Array(SubFolder.Path, Left(SubFolder.Path, InStrRev(SubFolder.Path, "\")), SubFolder.Name, SubFolder.DateCreated, SubFolder.DateLastModified)
Next SubFolder
For Each subfld In prntfld.SubFolders
    getSubFolder subfld
Next subfld
End Sub
 
Merhaba.

Forum sayfalarının üst orta kısmında bulunan ARAMA bölümüne
klasör listeleme yazarak arama yapmanızı öneriyorum.
Birçok örnek var.
.
 
Merhaba rabbace,
Hızlı cevap için teşekkür ederim. Ancak bu kodlar sadece alt klasörleri listeliyor, dosya isimlerini listelemiyor.
 
Merhaba Ömer Bey,
"Klasör isim listesi", "dosya isimleri kopyalama" gibi pek çok kombinasyonla arama yaptım, bana yarayan bir sonuç bulamadım. Ancak tam da sizin öneriniz ile "klasör listeleme" anahtar kelimeleriyle arayınca "http://www.excel.web.tr/f48/makro-ile-dosya-ady-deoi-tirme-t146435.html" linkine ulaştım. İstediğimden de fazlasını içeriyor.
Teşekkür ederim
 
command prompt ta istediğiniz klasörde,
tree /f /a > tree.txt
yazarsanız o klasörün içine tree.txt dosyasında dosya ve klasörler adlarını verir.
c:\klasör\tree /f /a > tree.txt

bu da böyle burada bulunsun.
yalnızca tree yazarsanız klasörleri
/f eklerseniz dosya isimlerini veriyor.
 
Geri
Üst