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[(pathname [, atribut] )]
Sintaks fungsi Dir memiliki argumen ini:
Argumen |
Deskripsi |
nama jalur |
Opsional. Ekspresi string yang menentukan nama file — mungkin menyertakan direktori atau folder, dan drive. String panjang-nol ("") dikembalikan jika nama jalur tidak ditemukan. |
Atribut |
Opsional. Konstanta atau ekpresi numerik, yang jumlahnya menentukan atribut file. Jika dihilangkan, mengembalikan file yang cocok dengan nama jalur tetapi tidak memiliki atribut. |
Pengaturan
Atributargumen pengaturan adalah:
Konstanta |
Nilai |
Deskripsi |
vbNormal |
0 |
(Default) Menentukan berkas tanpa atribut. |
vbReadOnly |
1 |
Menentukan file baca-saja selain file tanpa atribut. |
vbHidden |
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 ada atribut lain yang 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 Anda sebagai ganti nilai aktual.
Keterangan
Di Microsoft Windows, Dir mendukung penggunaan wildcard 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 tipe file untuk mengidentifikasi grup file. Anda dapat menggunakan fungsi MacID untuk menentukan tipe file, bukan menggunakan nama file. Misalnya, pernyataan berikut mengembalikan nama file TEXT pertama dalam folder saat ini:
Dir("SomePath", MacID("TEXT"))
Untuk berulang di atas semua file dalam folder, tentukan string kosong:
Dir("")
Jika Anda menggunakan fungsi MacID dengan Dir di Windows, kesalahan terjadi.
Nilai atribut apa pun yang lebih besar dari 256 dianggap sebagai nilai MacID .
Anda harus menentukan nama jalur saat pertama kali anda memanggil fungsi Dir , atau 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 nama jalur, hubungi Dir lagi tanpa argumen. Ketika tidak ada lagi nama file yang cocok, Dir mengembalikan string panjang-nol (""). Setelah string panjang-nol dikembalikan, Anda harus menentukan nama jalur dalam panggilan berikutnya atau terjadi kesalahan. Anda bisa 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 berulang. Memanggil Dir dengan atribut vbDirectory tidak terus mengembalikan subdirektori.
Tips Karena nama file diambil tanpa urutan tertentu, Anda mungkin ingin menyimpan nama file yang dikembalikan dalam larik, 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 ada file dan direktori tertentu. Di Macintosh, "HD:" adalah nama drive default dan bagian dari 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