Herhangi Klasörün Alt Klasörlerini Listelemek ve Dosya Sayilarini Bulmak

subfolders

 

Herhangi bir klasorun alt klasorlerini listelemek icin oncelikle bir rutin icerisinde klasorumuzu belirleyip diger bir rutine yonlendirecegiz. Alt klasorleri listeleme islemi bittiginde bir fonksiyon ile bu alt klasorlerin barindirdigi dosya sayilarini bulacagiz.

Reference

Bu ikinci rutinimiz icerisinde alt klasorleri listeleyebilmek adina FileSystemObject kullanacagiz bu baglamada Tools menusunden yukaridaki sekilde References secenegine giriyoruz.

Microsoft Scripting Runtime

 

Karsimiza kullanabilecegimiz referanslari veren bir pop-up pencere cikacak bu pencereden Microsoft Scripting Runtime referansini seciyoruz.

 

Alt klasorleri listelemek adina kullandigimiz rutinler;

Sub Klasor_Bilgisi()
    Dim Dosya_Yolu As String
    Dosya_Yolu = "C:" 'Klasor dizinini buraya yazin
    Dosya_Listele Dosya_Yolu
End Sub
Sub Dosya_Listele(Alt_Klasor_Yolu As String)
     
    Dim DS_Nesnesi As New FileSystemObject
    Dim DS_Nesnesi_Klasoru As Folder
    Dim Alt_Klasor As Folder
    Dim i As Integer
     
    Set DS_Nesnesi_Klasoru = DS_Nesnesi.GetFolder(Alt_Klasor_Yolu)
     
    For Each Alt_Klasor In DS_Nesnesi_Klasoru.SubFolders
        DoEvents
        i = i + 1
        Cells(i, 1) = Alt_Klasor
         'Debug.Print Alt_Klasor
    Next Alt_Klasor
     
    Set DS_Nesnesi_Klasoru = Nothing
     
     'Opsiyonel mesaj pop-up
    MsgBox "Toplam Listelenen Alt Klasor Sayisi " & Alt_Klasor_Yolu & " : " & i
     
End Sub

Dosya sayisini bulmak icin kullandigimiz fonksiyon;

Function Dosya_Sayisi(Path As String) As Long

    Dim Dosya_Sistemi_Nesnesi As Object
     
    Set Dosya_Sistemi_Nesnesi = CreateObject("Scripting.FileSystemObject").GetFolder(Path)
    Dosya_Sayisi = Dosya_Sistemi_Nesnesi.Files.Count
     
    Set Dosya_Sistemi_Nesnesi = Nothing

End Function

Herhangi Klasörün Alt Klasörlerini Listelemek ve Dosya Sayilarini Bulmak

 

 

Yazar: mmustafaaslan

2004 yilindan itibaren ozel bir sirketin finans departmaninda calismaktadir. Kendini excel, visual basic kullaniminda gelistirmis olan yazarimiz; Meslegi geregi SAP konusunda ileri derecede bilgilidir.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir


3 + 6 =