Λειτουργία VBA DIR - Πώς να χρησιμοποιήσετε τη λειτουργία Excel VBA DIR;

Πίνακας περιεχομένων

Λειτουργία Excel VBA DIR

Η συνάρτηση VBA DIR είναι επίσης γνωστή ως συνάρτηση καταλόγου, αυτή είναι μια ενσωματωμένη συνάρτηση στο VBA που χρησιμοποιείται για να μας δώσει το όνομα αρχείου ενός δεδομένου αρχείου ή ενός φακέλου, αλλά πρέπει να παρέχουμε τη διαδρομή για το αρχείο, η έξοδος επιστρέφεται από αυτό Η συνάρτηση είναι συμβολοσειρά καθώς επιστρέφει το όνομα του αρχείου, υπάρχουν δύο ορίσματα σε αυτήν τη συνάρτηση που είναι το όνομα διαδρομής και τα χαρακτηριστικά.

Η συνάρτηση DIR επιστρέφει το πρώτο όνομα αρχείου στην καθορισμένη διαδρομή φακέλου. Για παράδειγμα, στο D Drive σας, εάν έχετε ένα όνομα φακέλου που ονομάζεται 2019 και σε αυτόν το φάκελο, αν υπερέχετε το αρχείο με το όνομα "2019 Sales", τότε μπορείτε να αποκτήσετε πρόσβαση σε αυτό το αρχείο χρησιμοποιώντας τη συνάρτηση DIR.

Η λειτουργία "VBA DIR" είναι πολύ χρήσιμη για τη λήψη του ονόματος του αρχείου χρησιμοποιώντας το φάκελο διαδρομής του.

Σύνταξη

Αυτή η συνάρτηση έχει δύο προαιρετικά ορίσματα.

  • (Όνομα διαδρομής): Όπως λέει το όνομα, ποια είναι η διαδρομή πρόσβασης στο αρχείο. Αυτό θα μπορούσε επίσης να είναι το όνομα του αρχείου, το όνομα του φακέλου ή του καταλόγου. Εάν δεν έχει οριστεί διαδρομή, θα επιστρέψω μια κενή τιμή συμβολοσειράς, δηλαδή
  • (Χαρακτηριστικά): Αυτό είναι επίσης ένα προαιρετικό επιχείρημα και ενδέχεται να μην το χρησιμοποιείτε πολύ συχνά στην κωδικοποίηση. Μπορείτε να καθορίσετε το χαρακτηριστικό του αρχείου στο (Όνομα διαδρομής) και η συνάρτηση DIR αναζητά μόνο αυτά τα αρχεία.

Για παράδειγμα: Εάν θέλετε να έχετε πρόσβαση μόνο σε κρυφά αρχεία, εάν θέλετε να έχετε πρόσβαση μόνο σε αρχεία μόνο για ανάγνωση, κ.λπ.… μπορούμε να καθορίσουμε σε αυτό το όρισμα. Ακολουθούν τα χαρακτηριστικά που μπορούμε να χρησιμοποιήσουμε.

Παραδείγματα χρήσης της λειτουργίας VBA DIR

Παράδειγμα # 1 - Πρόσβαση στο όνομα αρχείου χρησιμοποιώντας τη συνάρτηση DIR

Θα σας εξηγήσω το απλό παράδειγμα πρόσβασης στο όνομα του αρχείου χρησιμοποιώντας τη συνάρτηση DIR. Ακολουθήστε τα παρακάτω βήματα.

Βήμα 1: Δημιουργήστε ένα όνομα μακροεντολής.

Βήμα 2: Ορίστε τη μεταβλητή ως συμβολοσειρά .

Κώδικας:

Sub Dir_Example1 () Dim MyFile ως συμβολοσειρά End Sub

Βήμα 3: Τώρα, για αυτήν τη μεταβλητή, θα εκχωρήσουμε τιμή χρησιμοποιώντας τη συνάρτηση DIR .

Κώδικας:

Sub Dir_Example1 () Dim MyFile ως συμβολοσειρά MyFile = Dir (End Sub

Βήμα 4: Τώρα αντιγράψτε και επικολλήστε τη διαδρομή φακέλου αρχείων στον υπολογιστή σας. Αναφέρετε το όνομα διαδρομής σε διπλά εισαγωγικά.

Κώδικας:

Sub Dir_Example1 () Dim MyFile As String MyFile = Dir ("E: VBA Πρότυπο End Sub

Βήμα 5: Έχω αναφέρει τη διαδρομή μου στο φάκελο, τώρα πρέπει να αναφέρουμε επίσης το όνομα του αρχείου και την επέκτασή του. Για να κάνουμε αυτό το πρώτο πράγμα που πρέπει να κάνουμε είναι να βάλουμε μια ανάστροφη κάθετο μετά το μονοπάτι ()

Αφού εισαγάγετε την ανάστροφη κάθετο, πρέπει να εισαγάγετε το πλήρες όνομα αρχείου .

Κώδικας:

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

Βήμα 6: Εμφάνιση της τιμής της μεταβλητής στο πλαίσιο μηνύματος.

Κώδικας:

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

Τώρα εκτελέστε τον κωδικό και δείτε τι είναι το αποτέλεσμα του πλαισίου μηνυμάτων.

Έτσι η συνάρτηση DIR επέστρεψε το όνομα του αρχείου με την επέκταση αρχείου.

Παράδειγμα # 2 - Άνοιγμα αρχείου χρησιμοποιώντας τη λειτουργία DIR

Τώρα πώς ανοίγουμε το αρχείο; Αυτή η συνάρτηση μπορεί να επιστρέψει το όνομα του αρχείου, αλλά το άνοιγμα αυτού του αρχείου είναι λίγο διαφορετική διαδικασία. Ακολουθήστε τα παρακάτω βήματα για να ανοίξετε το αρχείο.

Βήμα 1: Δημιουργήστε δύο μεταβλητές ως συμβολοσειρά .

Κώδικας:

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

Βήμα 2: Τώρα, για τη μεταβλητή FolderName , αντιστοιχίστε τη διαδρομή του φακέλου.

Κώδικας:

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

Βήμα 3: Τώρα, για τη μεταβλητή Όνομα αρχείου, πρέπει να λάβουμε το όνομα του αρχείου χρησιμοποιώντας τη συνάρτηση DIR .

Κώδικας:

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

Βήμα 4: Τώρα, για το Path Name, έχουμε ήδη αντιστοιχίσει μια διαδρομή στη μεταβλητή FolderPath, ώστε να μπορούμε να παρέχουμε απευθείας τη μεταβλητή εδώ.

Κώδικας:

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

Βήμα 5: Τώρα, πρέπει να δώσουμε το όνομα του αρχείου. Χρησιμοποιώντας το σύμβολο ampersand (&), εκχωρήστε το όνομα του αρχείου.

Κώδικας:

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

Βήμα 6: Τώρα χρησιμοποιήστε τη μέθοδο WORKBOOKS.OPEN .

Κώδικας:

Sub Dir_Example2 () Dim FolderName As String Dim FileName As String FolderName = "E: VBA Template " FileName = Dir (FolderName & "VBA Dir Excel Template.xlsm") Βιβλία εργασίας.

Βήμα 7: Το Όνομα αρχείου είναι ένας συνδυασμός FolderPath & FileName . Συνδυάστε λοιπόν αυτά τα δύο.

Κώδικας:

Sub Dir_Example2 () Dim FolderName As String Dim FileName As String FolderName = "E: VBA Template " FileName = Dir (FolderName & "VBA Dir Excel Template.xlsm") Βιβλία εργασίας. Άνοιγμα FolderName & FileName End Sub 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 DimName Όνομα ως συμβολοσειρά FileName = Dir ("E: VBA Template ", vbDirectory) Do while FileName "" Debug.Print FileName FileName = Dir () Loop End Sub

Κάντε το άμεσο παράθυρο ορατό πατώντας Ctrl + G.

Τώρα εκτελέστε τον κωδικό. Θα λάβουμε όλα τα ονόματα αρχείων στο άμεσο παράθυρο.

ενδιαφέροντα άρθρα...