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[(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. 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:

Konstan Value 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 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 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