Bu öğreticide, bir klasördeki tüm dosyaların adlarını nasıl alacağınızı ve bunları bir Çalışma Sayfasına nasıl yerleştireceğinizi öğreneceksiniz.
Bunun yerine, bir dosyanın var olup olmadığını nasıl kontrol edeceğinizi öğrenmek istiyorsanız şu bağlantıya tıklayabilirsiniz: VBA Dosyası Var
Bir Klasördeki Dosyaların Listesini Almak için FileSystemObject'i Kullanma
VBA, aşağıdakileri kullanarak bir klasördeki tüm dosyaları listelemenizi sağlar. DosyaSistemNesnesi.
Klasördeki dosyaların bir listesinin nasıl alınacağını göstereceğiz C:\VBA Klasörü ve Çalışma Sayfasının ilk sütununa koyun. Bu klasör, Resim 1'de gösterildiği gibi 5 dosyadan oluşur:
Resim 1. C:\VBA Klasörü klasöründeki dosyalar
İşte kod:
1234567891011121314151617181920 | Alt LoopThroughFiles ()Obje Olarak Dim ofFSODim ofFolder As ObjectoFile As Object olarak karartDim i Tamsayı OlarakSet oFSO = CreateObject("Scripting.FileSystemObject")Set oFolder = oFSO.GetFolder("C:\VBA Klasörü")oFolder.Files içindeki her bir oFile içinCells(i + 1, 1) = oFile.Nameben = ben + 1Sonraki oDosyaAlt Bitiş |
Örnekte, önce sınıfın bir nesnesini oluşturun Scripting.FileSystemObject:
1 | Set oFSO = CreateObject("Scripting.FileSystemObject") |
Ardından, yöntemi kullanarak klasörü ayarlayın GetFolder:
1 | Set oFolder = oFSO.GetFolder("C:\VBA Klasörü") |
Her dosyada bir sonraki döngü oKlasör, kullanarak oFile.Name to klasördeki her dosyanın adını alın ve bir sonraki boş satıra yazın:
123456 | oFolder.Files içindeki her bir oFile içinCells(i + 1, 1) = oFile.Nameben = ben + 1Sonraki oDosya |
Resim 2. Klasördeki dosyaların listesini içeren çalışma sayfası
Resim 2'de görebileceğiniz gibi, C:\VBA Klasöründeki 5 dosyanın tümü ilk sütunda listelenmiştir.