Fungsi 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 kamu jika kamu memiliki nama folder bernama 2019 dan di folder itu, jika kamu memiliki file excel bernama “2019 Sales” maka kamu 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.

  • [Nama Jalur]: Seperti namanya, sebutkan jalur 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.

Sebagai contoh: Jika Anda ingin mengakses hanya file yang tersembunyi, jika Anda ingin mengakses file read-only, dll… kita dapat menentukan dalam argumen ini. Di bawah ini adalah atribut yang dapat kita gunakan.

Contoh untuk menggunakan Fungsi VBA DIR

Anda dapat mendownload Template VBA Dir Excel ini di sini - Template VBA Dir Excel

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 adalah 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 \" NamaFile = 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 () Redup Nama Folder Sebagai String Dim Nama File Sebagai String Nama Folder = "E: \ VBA Template \" FileName = Dir (Nama Folder & "VBA Dir Excel Template.xlsm") End Sub 

Langkah 6: Sekarang gunakan metode WORKBOOKS.OPEN .

Kode:

 Sub Dir_Example2 () Redup Nama Folder Sebagai String Dim Nama File Sebagai String Nama Folder = "E: \ VBA Template \" FileName = Dir (Nama Folder & "VBA Dir Template Excel.xlsm") Buku Kerja. Buka Akhir Sub 

Langkah 7: Nama File adalah kombinasi dari FolderPath & FileName . Jadi gabungkan keduanya.

Kode:

 Sub Dir_Example2 () Redup Nama Folder Sebagai String Dim Nama File Sebagai String Nama Folder = "E: \ VBA Template \" FileName = Dir (Nama Folder & "VBA Dir Template Excel.xlsm") Buku Kerja. Buka Nama Folder & Nama File End Sub 

Sekarang jalankan kode ini, itu akan membuka nama file yang disebutkan.

Contoh # 3 - Buka Beberapa Buku Kerja menggunakan Fungsi DIR

Sebenarnya, kita bisa mengakses semua workbook yang ada di folder tersebut. Untuk mengakses setiap file, kami tidak dapat menyebutkan semua nama file secara langsung, tetapi kami dapat menggunakan karakter wildcard untuk merujuk file tersebut.

Tanda bintang (*) adalah salah satu karakter wildcard tersebut. Ini mengidentifikasi sejumlah karakter. Misalnya, jika Anda ingin mengakses semua file makro di folder, Anda dapat menggunakan tanda bintang sebagai karakter pengganti yaitu "* .xlsm *"

Disini * akan mencocokkan nama file apapun dengan ekstensi file yang sama dengan “xlsm”.

Kode:

 Sub Dir_Example3 () Redupkan Nama Folder Sebagai String Dim Nama File Sebagai String Nama Folder = "E: \ VBA Template \" FileName = Dir (NamaFolder & "* .xlsm *") Lakukan Saat Nama File "" Buku Kerja. Buka NamaFolder & NamaNama FileNama = Dir ( ) Loop End Sub 

Sekarang kode di atas akan membuka semua file di folder path.

FileName = Dir () alasan mengapa saya menggunakan baris ini karena, untuk mengakses file berikutnya di folder, kita harus membuat nama file yang ada menjadi nihil. Saat kita membuat nama file yang ada menjadi nihil ketika loop berjalan untuk kedua kalinya, itu akan mengambil file berikutnya di folder.

Contoh # 4 - Dapatkan semua Nama File di Folder

Misalkan jika Anda ingin daftar semua nama file di folder kita juga bisa melakukannya dengan menggunakan atribut.

Kode:

 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 kode kita akan mendapatkan semua nama file di jendela langsung.