Bir klasör içerisindeki dosyaları ve klasörleri A sütununda listeletmek için kullanılabilecek alternatif bir excel vba kodunu görelim.
Option Explicit
Sub KlasorIceriginiListele()
Dim klasor As String
Dim icerik As String
Dim i As Integer
Dim nesne As Object
Set nesne = CreateObject("WScript.Shell").SpecialFolders
klasor = nesne("desktop")
icerik = Dir(klasor & Application.PathSeparator & "*.*", vbDirectory)
Do While icerik <> ""
Cells(i + 1, 1) = icerik
i = i + 1
icerik = Dir
Loop
End Sub
Option Explicit
Sub KlasorIceriginiListele()
'--------------------------------------------------
'Listeleme yapılacak klasörün
'tam yolunu bu değişkene atayacağız.
'--------------------------------------------------
Dim klasor As String
'--------------------------------------------------
'Klasörün içindeki her bir dosyayı ve
'klasörün yolunu atayacağımız değişken.
'--------------------------------------------------
Dim icerik As String
'--------------------------------------------------
'Hücre seçimi için döngüde
'işimize yarayacak.
'--------------------------------------------------
Dim i As Integer
'--------------------------------------------------
'Kodun başka bilgisayarlarda da
'direkt olarak çalışması için
'özel klasör (bu örnekte Desktop)
'kullanmak için nesne oluşturduk.
'
'Zaten siz klasor değişkenine
'istediğiniz klasörün tam yolunu
'gireceğinizden sıkıntı yok.
'--------------------------------------------------
Dim nesne As Object
'--------------------------------------------------
'Desktop klasörünün dinamik olarak seçilmesi için
'ilk olarak nesne ayarlama işlemini yaptık.
'--------------------------------------------------
Set nesne = CreateObject("WScript.Shell").SpecialFolders
'--------------------------------------------------
'Desktop dinamik yolunu klasor değişkenine atadık.
'--------------------------------------------------
klasor = nesne("desktop")
'--------------------------------------------------
'Klasör içeriğini komple aldık.
'--------------------------------------------------
icerik = Dir(klasor & Application.PathSeparator & "*.*", vbDirectory)
'--------------------------------------------------
'Döngü kullanarak her bir dosya ve klasör
'ismini ayrı satırlara yazdırıyoruz.
'--------------------------------------------------
Do While icerik <> ""
Cells(i + 1, 1) = icerik
i = i + 1
icerik = Dir
Loop
End Sub