Vba: cara membuat daftar file dalam folder


Anda dapat menggunakan metode berikut di VBA untuk membuat daftar file dalam folder:

Metode 1: Daftarkan semua file dalam folder

 SubListFiles ()

Dim i As Integer
Dim oFSO As Object
Dim oFolder As Object
Dim objFile As Object

Set oFSO = CreateObject("Scripting.FileSystemObject")

Set oFolder = oFSO.GetFolder("C:\Users\bob\Documents\current_data")

For Each objFile In oFolder.Files
    Cells(i + 1, 1) = objFile.Name
    i = i + 1
Next objFile

End Sub

Metode 2: Cantumkan hanya file .xlsx di folder

 SubListFiles ()

Dim i As Integer
Dim oFSO As Object
Dim oFolder As Object
Dim objFile As Object

Set oFSO = CreateObject("Scripting.FileSystemObject")

Set oFolder = oFSO.GetFolder("C:\Users\bob\Documents\current_data")

For Each objFile In oFolder.Files
    If Right(objFile.Name, 4) = "xlsx" Then
        Cells(i + 1, 1) = objFile.Name
        i = i + 1
    End If
Next objFile

End Sub

Contoh berikut menunjukkan cara menggunakan setiap metode dalam praktik dengan folder yang memiliki jalur file berikut:

  • C:\Users\bob\Documents\current_data

Folder tersebut berisi dua file .xlsx dan tiga file .csv :

Contoh 1: Daftar semua file dalam folder

Kita dapat membuat makro berikut untuk mencantumkan semua file di folder:

 SubListFiles ()

Dim i As Integer
Dim oFSO As Object
Dim oFolder As Object
Dim objFile As Object

Set oFSO = CreateObject("Scripting.FileSystemObject")

Set oFolder = oFSO.GetFolder("C:\Users\bob\Documents\current_data")

For Each objFile In oFolder.Files
    Cells(i + 1, 1) = objFile.Name
    i = i + 1
Next objFile

End Sub

Saat kami menjalankan makro ini, kami menerima keluaran berikut:

Kita dapat melihat bahwa nama semua file dalam folder (terlepas dari ekstensinya) sekarang tercantum di kolom A lembar Excel kita.

Contoh 2: Cantumkan hanya file .xlsx di folder

Kita dapat membuat makro berikut untuk mencantumkan hanya file yang memiliki ekstensi .xlsx di folder:

 SubListFiles ()

Dim i As Integer
Dim oFSO As Object
Dim oFolder As Object
Dim objFile As Object

Set oFSO = CreateObject("Scripting.FileSystemObject")

Set oFolder = oFSO.GetFolder("C:\Users\bob\Documents\current_data")

For Each objFile In oFolder.Files
    If Right(objFile.Name, 4) = "xlsx" Then
        Cells(i + 1, 1) = objFile.Name
        i = i + 1
    End If
Next objFile

End Sub

Saat kami menjalankan makro ini, kami menerima keluaran berikut:

Kita dapat melihat bahwa hanya nama file dengan ekstensi .xlsx di folder tersebut yang sekarang tercantum di kolom A lembar Excel kita.

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di VBA:

Cara Membuat Folder Menggunakan VBA
Cara menghapus folder menggunakan VBA
Cara mengganti nama file menggunakan VBA
Cara memeriksa apakah file ada menggunakan VBA

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *