Fungsi VBA DIR - Bagaimana cara menggunakan Fungsi Excel VBA DIR?

Isi kandungan

Fungsi Excel VBA DIR

Fungsi VBA DIR juga dikenal sebagai fungsi direktori, ini adalah fungsi inbuilt di VBA yang digunakan untuk memberi kita nama file dari file atau folder tertentu tetapi kita perlu memberikan jalan untuk file tersebut, outputnya dikembalikan oleh ini fungsi adalah rentetan kerana mengembalikan nama file, ada dua argumen untuk fungsi ini yang merupakan nama jalan dan atribut.

Fungsi DIR mengembalikan nama fail pertama dalam laluan folder yang ditentukan. Sebagai contoh, di Drive D anda, jika anda mempunyai nama folder bernama 2019 dan di folder tersebut, jika anda unggul fail bernama "2019 Sales", maka anda dapat mengakses file ini dengan menggunakan fungsi DIR.

Fungsi "VBA DIR" sangat membantu mendapatkan nama fail dengan menggunakan folder pathnya.

Sintaks

Fungsi ini mempunyai dua argumen pilihan.

  • (Path Path): Seperti namanya, jalan untuk mengakses fail itu. Ini bisa berupa nama file, nama folder, atau direktori juga. Sekiranya jalan tidak diberikan, saya akan mengembalikan nilai rentetan kosong, iaitu "
  • (Atribut): Ini juga merupakan argumen pilihan, dan anda mungkin tidak sering menggunakannya dalam pengekodan. Anda boleh menentukan atribut fail di (Path Path), dan fungsi DIR hanya mencari fail tersebut.

Sebagai contoh: Sekiranya anda ingin mengakses fail tersembunyi sahaja, jika anda ingin mengakses fail hanya baca, dan lain-lain … kami dapat menentukan dalam argumen ini. Berikut adalah atribut yang boleh kita gunakan.

Contohnya menggunakan Fungsi DBA VBA

Contoh # 1 - Mengakses Nama Fail menggunakan Fungsi DIR

Saya akan menerangkan kepada anda contoh mudah untuk mengakses nama fail menggunakan fungsi DIR. Ikuti langkah di bawah.

Langkah 1: Buat nama makro.

Langkah 2: Tentukan pemboleh ubah sebagai String .

Kod:

Sub Dir_Contoh1 () Dim MyFile Sebagai String End Sub

Langkah 3: Sekarang, untuk pemboleh ubah ini, kami akan memberikan nilai dengan menggunakan fungsi DIR .

Kod:

Sub Dir_Contoh1 () Dim MyFile Sebagai String MyFile = Dir (Sub Akhir

Langkah 4: Sekarang salin dan tampal jalur folder fail di komputer anda. Sebutkan nama jalan dalam petikan ganda.

Kod:

Sub Dir_Example1 () Dim MyFile Sebagai String MyFile = Dir ("E: VBA Templat Akhir Sub

Langkah 5: Saya telah menyebut jalan saya ke folder, sekarang kita perlu menyebutkan nama fail & pelanjutannya juga. Untuk melakukan perkara pertama yang perlu kita lakukan ialah kita perlu meletakkan garis miring terbalik selepas jalan ()

Setelah memasukkan garis miring terbalik, kita perlu memasukkan nama fail penuh .

Kod:

Sub Dir_Example1 () Dim MyFile Sebagai String MyFile = Dir ("E: VBA Template VBA Dir Excel Template.xlsm") Akhir Sub

Langkah 6: Tunjukkan nilai pemboleh ubah di kotak mesej.

Kod:

Sub Dir_Example1 () Dim MyFile Sebagai String MyFile = Dir ("E: VBA Template VBA Dir Excel Template.xlsm") MsgBox MyFile End Sub

Sekarang jalankan kod dan lihat apa hasil kotak mesej.

Oleh itu fungsi DIR mengembalikan nama fail dengan peluasan fail.

Contoh # 2 - Buka Fail dengan menggunakan Fungsi DIR

Sekarang bagaimana kita membuka fail tersebut? Fungsi ini dapat mengembalikan nama fail, tetapi membuka fail itu adalah proses yang sedikit berbeza. Ikuti langkah di bawah untuk membuka fail.

Langkah 1: Buat dua pemboleh ubah sebagai String .

Kod:

Sub Dir_Example2 () Dim FolderName Sebagai String Dim FileName Sebagai String End Sub

Langkah 2: Sekarang, untuk pemboleh ubah FolderName , tetapkan laluan folder.

Kod:

Sub Dir_Example2 () Dim FolderName Sebagai String Dim FileName Sebagai String FolderName = "E: VBA Template " End Sub

Langkah 3: Sekarang, untuk pemboleh ubah FileName, kita perlu mendapatkan nama fail dengan menggunakan fungsi DIR .

Kod:

Sub Dir_Example2 () Dim FolderName Sebagai String Dim FileName Sebagai String FolderName = "E: VBA Template " FileName = Dir (End Sub

Langkah 4: Sekarang, untuk Path Path, kami telah menetapkan jalan ke FolderPath pemboleh ubah, jadi kami dapat membekalkan pemboleh ubah secara langsung di sini.

Kod:

Sub Dir_Example2 () Dim FolderName Sebagai String Dim FileName Sebagai String FolderName = "E: VBA Template " FileName = Dir (FolderName End Sub

Langkah 5: Sekarang, kita perlu memberikan nama fail. Dengan menggunakan simbol ampersand (&), berikan nama fail.

Kod:

Sub Dir_Example2() Dim FolderName As String Dim FileName As String FolderName = "E:VBA Template " FileName = Dir(FolderName & "VBA Dir Excel Template.xlsm") End Sub

Step 6: Now use the WORKBOOKS.OPEN method.

Code:

Sub Dir_Example2() Dim FolderName As String Dim FileName As String FolderName = "E:VBA Template " FileName = Dir(FolderName & "VBA Dir Excel Template.xlsm") Workbooks.Open End Sub

Step 7: File Name is a combination of FolderPath & FileName. So combine these two.

Code:

Sub Dir_Example2() Dim FolderName As String Dim FileName As String FolderName = "E:VBA Template " FileName = Dir(FolderName & "VBA Dir Excel Template.xlsm") Workbooks.Open FolderName & FileName End Sub

Now run this code. It will open the mentioned file name.

Example #3 - Multiple Open Workbooks using DIR Function

Actually, we can access all the workbooks in the folder. In order to access each and every file, we cannot mention all the file names directly, but we can use the wildcard character to refer to the file.

The asterisk (*) is one of those wildcard characters. It identifies any number of characters. For example, if you want to access all the macro files in the folder, you can use the asterisk as the wildcard i.e., “*.xlsm*.”

Here * will match any file name with the extension of the file is equal to “xlsm.”

Code:

Sub Dir_Example3() Dim FolderName As String Dim FileName As String FolderName = "E:VBA Template " FileName = Dir(FolderName & "*.xlsm*") Do While FileName "" Workbooks.Open FolderName & FileName FileName = Dir() Loop End Sub

Now the above code will open all the files in the folder path.

FileName = Dir() the reason why I have used this line because, in order to access the next file in the folder, we have to make the existing file name to nil. The moment we make the existing file name to nil when the loop runs for the second time, it will take the next file in the folder.

Example #4 - Get all the File Names in the Folder

Suppose if you want the list of all the file names in the folder, we can also do this by using attributes.

Code:

Sub Dir_Example4 () Dim FileName Sebagai StringName File = Dir ("E: VBA Template ", vbDirectory) Lakukan Semasa Nama File "" Debug.Print FileName FileName = Dir () Loop End Sub

Jadikan tetingkap segera kelihatan dengan menekan Ctrl + G.

Sekarang jalankan kod. Kami akan mendapatkan semua nama fail di tetingkap segera.

Artikel menarik...