Fungsi Dir

Berlaku Untuk
Access untuk Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Catatan

Fungsi, metode, objek, atau properti yang dijelaskan dalam topik ini dinonaktifkan jika Layanan Ekspresi Microsoft Jet berjalan dalam mode kotak pasir, yang mencegah evaluasi ekspresi yang berpotensi tidak aman. Untuk informasi selengkapnya tentang mode kotak pasir, cari "mode kotak pasir" di Bantuan.

Mengembalikan String yang mewakili nama file, direktori, atau folder yang cocok dengan pola atau atribut file tertentu, atau label volume drive.

Sintaks

Dir[(nama jalur [, atribut] )]

Sintaks fungsi Dir memiliki argumen berikut:

Argumen Deskripsi
nama jalur Opsional. Ekspresi string yang menentukan nama file — dapat mencakup direktori atau folder, dan drive. String kosong ("") dikembalikan jika nama jalur tidak ditemukan.
atribut Opsional. Ekspresi konstanta atau numerik, yang jumlahnya menentukan atribut file. Jika dihilangkan, mengembalikan file yang cocok dengan nama jalur tetapi tidak memiliki atribut.

    

Pengaturan

Pengaturan argumen atributadalah:

Konstanta Value Deskripsi
vbNormal 0 (Default) Menentukan file tanpa atribut.
vbReadOnly 1 Menentukan file baca-saja selain file tanpa atribut.
vbTersembunyi 2 Menentukan file tersembunyi selain file tanpa atribut.
VbSystem 4 Menentukan file sistem selain file tanpa atribut. Tidak tersedia di Macintosh.
vbVolume 8 Menentukan label volume; Jika atribut lain ditentukan, vbVolume diabaikan. Tidak tersedia di Macintosh.
vbDirectory 16 Menentukan direktori atau folder selain file tanpa atribut.
vbAlias 64 Nama file yang ditentukan adalah alias. Hanya tersedia di Macintosh.

    

Catatan

Konstanta ini ditentukan oleh Visual Basic for Applications (VBA) dan dapat digunakan di mana saja dalam kode sebagai pengganti nilai aktual.

Keterangan

Di Microsoft Windows, Dir mendukung penggunaan beberapa karakter (*) dan karakter tunggal (?) untuk menentukan beberapa file. Di Macintosh, karakter ini diperlakukan sebagai karakter nama file yang valid dan tidak dapat digunakan sebagai wildcard untuk menentukan beberapa file.

Karena Macintosh tidak mendukung wildcard, gunakan jenis file untuk mengidentifikasi grup file. Anda dapat menggunakan fungsi MacID untuk menentukan tipe file alih-alih menggunakan nama file. Sebagai contoh, pernyataan berikut mengembalikan nama file TEXT pertama dalam folder saat ini:

Dir("SomePath", MacID("TEXT"))

Untuk mengulangi semua file dalam folder, tentukan string kosong:

Dir("")

Jika Anda menggunakan fungsi MacID dengan Dir di Windows, kesalahan akan terjadi.

Nilai atribut apa pun yang lebih besar dari 256 dianggap sebagai nilai MacID .

Anda harus menentukan nama jalur saat pertama kali memanggil fungsi DIR , jika tidak terjadi kesalahan. Jika Anda juga menentukan atribut file, nama jalur harus disertakan.

Dir mengembalikan nama file pertama yang cocok dengan nama jalur. Untuk mendapatkan nama file tambahan yang cocok dengan pathname, panggil Dir lagi tanpa argumen. Jika tidak ada lagi nama file yang cocok, Dir mengembalikan string kosong (""). Setelah string kosong dikembalikan, Anda harus menentukan pathname dalam panggilan berikutnya atau kesalahan akan terjadi. Anda dapat mengubah ke nama jalur baru tanpa mengambil semua nama file yang cocok dengan nama jalur saat ini. Namun, Anda tidak dapat memanggil fungsi Dir secara rekursif. Memanggil Dir dengan atribut vbDirectory tidak terus menerus mengembalikan subdirektori.

Tips Karena nama file diambil tanpa urutan tertentu, Anda mungkin ingin menyimpan nama file yang dikembalikan dalam array, lalu mengurutkan array.

Contoh

Catatan

Contoh yang mengikuti demonstrasi penggunaan fungsi ini dalam modul Visual Basic for Applications (VBA). Untuk informasi selengkapnya tentang bekerja dengan VBA, pilih Referensi Pengembang di daftar turun bawah di samping Cari dan masukkan satu istilah atau lebih di kotak pencarian.

Contoh ini menggunakan fungsi Dir untuk memeriksa apakah file dan direktori tertentu ada. Pada Macintosh, "HD:" adalah nama drive default dan bagian-bagian nama jalur dipisahkan oleh titik dua, bukan garis miring terbalik. Selain itu, karakter wildcard Windows diperlakukan sebagai karakter nama file yang valid di Macintosh. Namun, Anda dapat menggunakan fungsi MacID untuk menentukan grup file.

Dim MyFile, MyPath, MyName
' Returns "WIN.INI" (on Microsoft Windows) if it exists.
MyFile = Dir("C:\WINDOWS\WIN.INI")    
' Returns filename with specified extension. If more than one *.ini
' file exists, the first file found is returned.
MyFile = Dir("C:\WINDOWS\*.INI")
' Call Dir again without arguments to return the next *.INI file in the 
' same directory.
MyFile = Dir
' Return first *.TXT file with a set hidden attribute.
MyFile = Dir("*.TXT", vbHidden)
' Display the names in C:\ that represent directories.
MyPath = "c:\"    ' Set the path.
MyName = Dir(MyPath, vbDirectory)    ' Retrieve the first entry.
Do While MyName <> ""    ' Start the loop.
    ' Ignore the current directory and the encompassing directory.
    If MyName <> "." And MyName <> ".." Then
        ' Use bitwise comparison to make sure MyName is a directory.
        If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then
            Debug.Print MyName    ' Display entry only if it
        End If    ' it represents a directory.
    End If
    MyName = Dir    ' Get next entry.
Loop