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

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 menyediakan jalur untuk file tersebut, keluaran yang dikembalikan oleh ini function adalah string karena mengembalikan nama file, ada dua argumen untuk fungsi ini yaitu nama jalur dan atributnya.

Fungsi DIR mengembalikan nama file pertama di jalur folder yang ditentukan. Misalnya, di Drive D Anda, jika Anda memiliki nama folder bernama 2019 dan di folder itu, jika Anda memiliki file excel bernama “Penjualan 2019,” maka Anda dapat mengakses file ini dengan menggunakan fungsi DIR.

Fungsi “VBA DIR” sangat membantu dalam mendapatkan nama file dengan menggunakan folder path-nya.

Sintaksis

Fungsi ini memiliki dua argumen opsional.

  • (Path Name): Seperti namanya, apa path untuk mengakses file tersebut. Ini bisa berupa nama file, nama folder, atau direktori juga. Jika ada jalur yang tidak ditetapkan, saya akan mengembalikan nilai string kosong, yaitu "
  • (Atribut): Ini juga merupakan argumen opsional, dan Anda mungkin tidak sering menggunakannya dalam pengkodean. Anda dapat menentukan atribut file di (Path Name), dan fungsi DIR hanya mencari file tersebut.

Misalnya: Jika Anda hanya ingin mengakses file yang tersembunyi, jika Anda ingin mengakses file hanya-baca, dll.… Kita dapat menentukan dalam argumen ini. Di bawah ini adalah atribut yang dapat kita gunakan.

Contoh untuk menggunakan Fungsi VBA DIR

Contoh # 1 - Mengakses Nama File menggunakan Fungsi DIR

Saya akan menjelaskan kepada Anda contoh sederhana mengakses nama file menggunakan fungsi DIR. Ikuti langkah-langkah di bawah ini.

Langkah 1: Buat nama makro.

Langkah 2: Tentukan variabel sebagai String .

Kode:

Sub Dir_Example1 () Redupkan MyFile Sebagai Sub String End

Langkah 3: Sekarang, untuk variabel ini, kita akan memberikan nilai dengan menggunakan fungsi DIR .

Kode:

Sub Dir_Example1 () Redupkan MyFile Sebagai String MyFile = Dir (End Sub

Langkah 4: Sekarang salin dan tempel jalur folder file di komputer Anda. Sebutkan nama jalur dalam tanda kutip ganda.

Kode:

Sub Dir_Example1 () Redupkan MyFile Sebagai String MyFile = Dir ("E: VBA Template End Sub

Langkah 5: Saya telah menyebutkan jalur saya ke folder, sekarang kita perlu menyebutkan nama file & ekstensinya juga. Untuk melakukan ini, hal pertama yang perlu kita lakukan adalah kita perlu meletakkan garis miring terbalik setelah jalur ()

Setelah memasukkan garis miring terbalik, kita perlu memasukkan nama file lengkap .

Kode:

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

Langkah 6: Tunjukkan nilai variabel di kotak pesan.

Kode:

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

Sekarang jalankan kode dan lihat apa hasil dari kotak pesan tersebut.

Jadi fungsi DIR mengembalikan nama file dengan ekstensi file.

Contoh # 2 - Buka File dengan menggunakan Fungsi DIR

Sekarang bagaimana kita membuka file tersebut? Fungsi ini dapat mengembalikan nama file, tetapi membuka file itu proses yang sedikit berbeda. Ikuti langkah-langkah di bawah ini untuk membuka file.

Langkah 1: Buat dua variabel sebagai String .

Kode:

Sub Dir_Example2 () Redup Nama Folder Sebagai String Dim Nama File Sebagai String End Sub

Langkah 2: Sekarang, untuk variabel FolderName , tetapkan jalur folder.

Kode:

Sub Dir_Example2 () Redup Nama Folder Sebagai String Dim Nama File Sebagai String Nama Folder = "E: VBA Template " End Sub

Langkah 3: Sekarang, untuk variabel FileName, kita perlu mendapatkan nama file dengan menggunakan fungsi DIR .

Kode:

Sub Dir_Example2 () Redup Nama Folder Sebagai String Dim Nama File Sebagai String Nama Folder = "E: VBA Template " FileName = Dir (End Sub

Langkah 4: Sekarang, untuk Nama Jalur, kami telah menetapkan jalur ke variabel FolderPath, jadi kami dapat langsung menyediakan variabel di sini.

Kode:

Sub Dir_Example2 () Redup Nama Folder Sebagai String Dim Nama File Sebagai String Nama Folder = "E: VBA Template " FileName = Dir (Nama Folder End Sub

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

Kode:

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 () Redupkan FileName As String FileName = Dir ("E: VBA Template ", vbDirectory) Lakukan Saat Nama File "" Debug.Print FileName FileName = Dir () Loop End Sub

Jadikan jendela langsung terlihat dengan menekan Ctrl + G.

Sekarang jalankan kodenya. Kami akan mendapatkan semua nama file di jendela langsung.

Artikel yang menarik...