Klasördeki VBA Liste Dosyaları

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.

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave