VBA DIR İşlevi - Excel VBA DIR İşlevi nasıl kullanılır?

İçindekiler

Excel VBA DIR İşlevi

VBA DIR işlevi aynı zamanda dizin işlevi olarak da bilinir; bu, bize belirli bir dosyanın veya klasörün dosya adını vermek için kullanılan VBA'da yerleşik bir işlevdir, ancak dosyanın yolunu, bunun döndürdüğü çıktıyı sağlamamız gerekir. işlev, dosyanın adını döndürdüğü için dizedir, bu işlevin yol adı ve öznitelikleri olan iki argümanı vardır.

DIR işlevi, belirtilen klasör yolundaki ilk dosya adını döndürür. Örneğin, D Drive'ınızda 2019 adında bir klasör adınız varsa ve bu klasörde, “2019 Satışları” adlı excel dosyanız varsa, DIR işlevini kullanarak bu dosyaya erişebilirsiniz.

"VBA DIR" işlevi, yol klasörünü kullanarak dosyanın adını almada çok yararlıdır.

Sözdizimi

Bu işlevin iki isteğe bağlı argümanı vardır.

  • (Yol Adı): Adından da anlaşılacağı gibi, dosyaya erişim yolunun ne olduğu. Bu, dosyanın adı, klasörün adı veya dizin olabilir. Herhangi bir yol atanmamışsa, boş bir dize değeri döndürürüm, yani "
  • (Nitelikler): Bu aynı zamanda isteğe bağlı bir argümandır ve bunu kodlamada çok sık kullanmayabilirsiniz. Dosyanın özniteliğini (Yol Adı) içinde belirtebilirsiniz ve DIR işlevi yalnızca bu dosyaları arar.

Örneğin: Yalnızca gizli dosyalara erişmek istiyorsanız, yalnızca salt okunur dosyalara vb. Erişmek istiyorsanız… bu argümanda belirtebiliriz. Kullanabileceğimiz nitelikler aşağıdadır.

VBA DIR İşlevini kullanma örnekleri

Örnek 1 - DIR İşlevini Kullanarak Dosya Adına Erişim

DIR işlevini kullanarak dosya adına erişmenin basit örneğini size açıklayacağım. Aşağıdaki adımları izleyin.

Adım 1: Bir makro adı oluşturun.

Adım 2: Değişkeni String olarak tanımlayın .

Kod:

Alt Dir_Example1 () Dim MyFile As String End Sub

Adım 3: Şimdi bu değişken için DIR fonksiyonunu kullanarak değer atayacağız .

Kod:

Alt Dir_Örnek1 () Dim MyFile As String MyFile = Dir (End Sub

Adım 4: Şimdi dosya klasörü yolunu kopyalayıp bilgisayarınıza yapıştırın . Yol adını çift tırnak içinde belirtin.

Kod:

Alt Dizin_Örnek1 () Dim MyFile As String MyFile = Dir ("E: VBA Şablon Son Alt

Adım 5: Klasöre giden yolumdan bahsettim, şimdi dosya adını ve uzantısını da belirtmemiz gerekiyor. Bunu yapmak için ilk yapmamız gereken şey, yoldan () sonra bir ters eğik çizgi koymaktır.

Ters eğik çizgiyi girdikten sonra, tam dosya adını girmemiz gerekir .

Kod:

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

Adım 6: Mesaj kutusunda değişkenin değerini gösterin.

Kod:

Sub Dir_Example1 () Dim MyFile As String MyFile = Dir ("E: VBA Şablonu VBA Dir Excel Şablonu.xlsm") MsgBox MyFile End Sub

Şimdi kodu çalıştırın ve mesaj kutusunun sonucunu görün.

DIR işlevi dosya adını dosya uzantısıyla döndürdü.

Örnek 2 - DIR İşlevini Kullanarak Dosya Açın

Şimdi dosyayı nasıl açacağız? Bu işlev dosya adını döndürebilir, ancak bu dosyayı açmak biraz farklı bir işlemdir. Dosyayı açmak için aşağıdaki adımları izleyin.

Adım 1: String olarak iki değişken oluşturun .

Kod:

Alt Dizin_Örnek2 () Dim FolderName As String Dim FileName As String End Sub

Adım 2: Şimdi, FolderName değişkeni için klasör yolunu atayın.

Kod:

Alt Dir_Example2 () Dim FolderName As String Dim FileName As String FolderName = "E: VBA Şablonu " End Sub

Adım 3: Şimdi, FileName değişkeni için DIR işlevini kullanarak dosya adını almamız gerekiyor .

Kod:

Alt Dir_Örnek2 () Dim FolderName As String Dim FileName As String FolderName = "E: VBA Şablonu " DosyaAdı = Dir (End Sub

Adım 4: Şimdi, Yol Adı için, FolderPath değişkenine zaten bir yol atadık, böylece değişkeni doğrudan buraya sağlayabiliriz.

Kod:

Alt Dir_Example2 () Dim FolderName As String Dim FileName As String FolderName = "E: VBA Şablonu " DosyaAdı = Dir (KlasörAdı End Sub

Adım 5: Şimdi, dosya adını sağlamamız gerekiyor. Ve işareti simgesini (&) kullanarak dosya adını atayın.

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

Ctrl + G tuşlarına basarak hemen pencereyi görünür hale getirin .

Şimdi kodu çalıştırın. Hemen pencerede tüm dosya adlarını alacağız.

Ilginç makaleler...