contact@exceltr.com

ExcelTR - Microsoft Excel Eğitim Sitesi

Görsel Video Microsoft Excel Eğitim Sitesi
5 Haz 2012

Seçilen Klasörün Alt Klasörlerinde İşlem

//
Yorumlar0
/

Bu çalısmamızda bir klasor secerek bu klasor içerisindeki alt klasor isimlerinin excel üzerine yazılması saglayacağız. ayrıca örneğimiz içerisinde “2011” ve “2012” adları ile iki alt klasör açtıkö bu klasörlerin kontrollerini yaparak bu klasörlerde ayrıca işlem yapma şansı doğuracağız.

Bu tarz çalışmalar bir çok üyemiz için ağır oluyor biliyorum fakat tam olarak ne işe yaradığını dahi bilmeniz, evet böyle bişey için bir örnek uygulama vardı yahut buda yapılabilir diyebilmesinin yararlı olacağını düşünüyorum, örnek dosyayı ve aşağıdaki kodları inceleyiniz.

Sub Listele()

Dim fs, Ana_Klasor_Temp, Alt_Klasor, s, Ana_Klasor
Dim fs1, ydreFolder1, Klasor_Yili, s1, SubFolders
Dim iRow As Long
Dim fd As FileDialog
Dim Ana_Klasor_Adi As String
Dim Klasor_Yolu
Dim boolean2011 As Boolean
Dim boolean2012 As Boolean
Dim baslangic
Dim Ayrac

Ayrac = ""
Set fd = Application.FileDialog(msoFileDialogFolderPicker)
baslangic = 1
With fd
        .AllowMultiSelect = True
        If .Show Then
            'Klasorde dongu
            For Each Klasor_Yolu In .SelectedItems
                'secilen klasorun Adi
                Ana_Klasor_Adi = Klasor_Yolu & Ayrac
                Cells(baslangic, 1).Cells = Klasor_Yolu
                baslangic = baslangic + 1
                'Alt Klasor Ayari
                Set fs = CreateObject("Scripting.FileSystemObject")
                Set Ana_Klasor_Temp = fs.GetFolder(Ana_Klasor_Adi)
                Set Ana_Klasor = Ana_Klasor_Temp.SubFolders
                'ilk alt klasorun dongusu
                For Each Alt_Klasor In Ana_Klasor
                       'Alt klasorler
                        Cells(baslangic, 2).Cells = Alt_Klasor.Name
                        baslangic = baslangic + 1
                        Set ydreFolder1 = fs.GetFolder(Alt_Klasor.Path & Ayrac)
                        Set SubFolders = ydreFolder1.SubFolders
                        'yil yazan klasorlerin dongusu
                        For Each Klasor_Yili In SubFolders
                            Cells(baslangic, 3).Value = Klasor_Yili.Name
                            baslangic = baslangic + 1
                             If Klasor_Yili.Name = "2011" Then
                               boolean2011 = True
                            End If
                            If Klasor_Yili.Name = "2012" Then
                                 boolean2012 = True
                            End If
                        Next
                    Next
            Next
        End If
End With

End Sub

Seçilen Klasörün Alt Klasörlerinde İşlem

Cevap bırakın


7 + 2 =