Fungsi dir

Penting: Artikel ini diterjemahkan oleh mesin, lihatlah notis penafian. Sila dapatkan versi Bahasa Inggeris artikel ini di sini sebagai rujukan anda

Nota: Fungsi, kaedah, objek atau sifat yang diperihalkan dalam topik ini dinyahdayakan jika Perkhidmatan Microsoft Jet ungkapan berjalan dalam mod kotak pasir yang menghalang penilaian ungkapan yang mungkin tidak selamat. Untuk maklumat lanjut tentang mod kotak pasir, Cari "mod kotak Pasir" dalam bantuan.

Mengembalikan rentetan mewakili nama fail, direktori atau folder yang sepadan dengan corak tertentu atau atribut fail, atau label volum pemacu.

Sintaks

Dir [(nama laluan terpencil [atribut] )]

Sintaks fungsi Dir mempunyai argumen ini:

Argumen

Perihalan

nama laluan terpencil

Pilihan. Rentetan ungkapan yang menentukan nama fail — termasuk direktori atau folder dan pemacu. Rentetan panjang sifar ("") dikembalikan jika nama laluan terpencil tidak ditemui.

atribut

Pilihan. Pemalar atau ungkapan bernombor, jumlah yang menentukan atribut fail. Jika dikecualikan, mengembalikan fail yang sepadan dengan nama laluan terpencil tetapi mempunyai atribut tiada.


Seting

Setingargumenatributadalah:

Pemalar

Nilai

Perihalan

vbNormal

0

(Lalai) Menentukan fail dengan atribut tiada.

vbReadOnly

1

Menentukan fail baca sahaja selain daripada fail dengan atribut tiada.

vbHidden

2

Menentukan fail tersembunyi selain daripada fail dengan atribut tiada.

VbSystem

4

Menentukan sistem fail selain daripada fail dengan atribut tiada. Tidak tersedia pada Macintosh.

vbVolume

8

Menentukan label volum; Jika perkara lain yang disebabkan oleh ditentukan, vbVolume diabaikan. Tidak tersedia pada Macintosh.

vbDirectory

16

Menentukan direktori atau folder selain daripada fail dengan atribut tiada.

vbAlias

64

Nama fail yang ditentukan adalah alias. Hanya tersedia pada Macintosh.


Nota: Pemalar ini ditentukan oleh Visual Basic for Applications (VBA) dan boleh digunakan di mana-mana dalam Kod anda menggantikan nilai sebenar.

Catatan

Dalam Microsoft Windows, Dir menyokong penggunaan berbilang aksara (*) dan aksara tunggal (?) Kad bebas untuk menentukan berbilang fail. Pada Macintosh, aksara ini dianggap sebagai aksara nama fail yang sah dan tidak boleh digunakan sebagai kad bebas untuk menentukan berbilang fail.

Memandangkan Macintosh tidak menyokong Kad bebas yang, menggunakan jenis fail untuk mengenal pasti Kumpulan fail. Anda boleh menggunakan fungsi MacID untuk menentukan jenis fail dan bukannya menggunakan nama fail. Contohnya, penyata berikut mengembalikan nama fail teks yang pertama dalam folder semasa:

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

Untuk lelaran melalui semua fail dalam folder, tentukan rentetan kosong:

Dir("")

Jika anda menggunakan fungsi MacID dengan Dir dalam Windows, ralat berlaku.

Sebarang nilai atribut yang lebih besar daripada 256 dianggap sebagai nilai MacID .

Anda mesti menentukan nama laluan terpencil kali pertama anda memanggil fungsi Dir atau ralat berlaku. Jika anda juga menentukan atribut fail, nama laluan terpencil mesti dimasukkan.

Dir mengembalikan pertama nama fail yang sepadan dengan nama laluan terpencil. Untuk mendapatkan sebarang nama fail tambahan yang sepadan dengan nama laluan terpencil, panggilan Dir sekali lagi dengan argumen tiada. Apabila tiada nama fail yang lebih sepadan, Dir mengembalikan rentetan panjang sifar (""). Sebaik sahaja rentetan panjang sifar yang dikembalikan, anda mesti menentukan nama laluan terpencil dalam panggilan seterusnya atau ralat berlaku. Anda boleh mengubah baru nama laluan terpencil tanpa mengambil semua nama fail yang sepadan dengan semasa nama laluan terpencil. Walau bagaimanapun, anda tidak dapat memanggil Dir fungsi secara berulang. Memanggil Dir dengan atribut vbDirectory secara berterusan mengembalikan subdirektori.

Petua     Kerana nama fail diambil dalam tertib tertentu, anda mungkin ingin menyimpan nama fail yang dikembalikan dalam ada tatasusunan, dan kemudian Mengisih tatasusunan.

Contoh

Nota: Contoh berikut menunjukkan penggunaan fungsi ini dalam Visual Basic for Applications (VBA) modul. Untuk maklumat lanjut tentang bekerja dengan VBA, pilih Rujukan pembangun dalam senarai juntai bawah di sebelah Cari dan memasukkan satu atau lebih istilah dalam kotak carian.

Contoh ini menggunakan fungsi Dir untuk menyemak jika direktori dan fail tertentu wujud. Pada Macintosh, "HD:" ialah nama pemacu lalai dan sebahagian daripada nama laluan terpencil dipisahkan dengan tanda titik bertindih dan bukannya garis condong belakang. Juga, aksara Kad bebas Windows dianggap sebagai aksara nama fail sah pada Macintosh. Walau bagaimanapun, anda boleh menggunakan fungsi MacID untuk menentukan fail Kumpulan.

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

Nota: Notis Penafian Penterjemahan Mesin: Artikel ini telah diterjemah oleh sistem komputer tanpa campur tangan manusia. Microsoft menawarkan penterjemahan mesin ini untuk membantu pengguna-pengguna yang tidak bertutur dalam Bahasa Inggeris supaya dapat menikmati kandungan mengenai produk, perkhidmatan dan teknologi Microsoft. Artikel ini mungkin mengandungi ralat perbendaharaan kata, sintaks atau tatabahasa kerana ia diterjemahkan oleh mesin.

Kembangkan kemahiran anda
Jelajahi latihan
Dapatkan ciri baru terlebih dahulu
Sertai Office Insiders

Adakah maklumat ini membantu?

Terima kasih atas maklum balas anda!

Terima kasih atas maklum balas anda! Nampaknya ia mungkin akan membantu untuk menyambungkan anda kepada salah seorang daripada ejen sokongan Office kami.

×