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

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

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

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

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

Σύνταξη

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

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

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

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

Μπορείτε να κάνετε λήψη αυτού του προτύπου VBA Dir Excel εδώ - Πρότυπο VBA Dir Excel

Παράδειγμα # 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 Path έχουμε ήδη αντιστοιχίσει μια διαδρομή στη μεταβλητή 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 

Τώρα εκτελέστε αυτόν τον κωδικό θα ανοίξει το αναφερόμενο όνομα αρχείου.

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

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

Ο αστερίσκος (*) είναι ένας από αυτούς τους χαρακτήρες μπαλαντέρ. Προσδιορίζει οποιονδήποτε αριθμό χαρακτήρων. Για παράδειγμα, εάν θέλετε να αποκτήσετε πρόσβαση σε όλα τα αρχεία μακροεντολών στο φάκελο, μπορείτε να χρησιμοποιήσετε τον αστερίσκο ως μπαλαντέρ δηλαδή "* .xlsm *"

Εδώ * θα ταιριάξει οποιοδήποτε όνομα αρχείου με την επέκταση του αρχείου να είναι ίση με "xlsm".

Κώδικας:

 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 

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

FileName = Dir () ο λόγος για τον οποίο έχω χρησιμοποιήσει αυτήν τη γραμμή επειδή, για να αποκτήσω πρόσβαση στο επόμενο αρχείο στο φάκελο, πρέπει να κάνουμε το υπάρχον όνομα αρχείου σε μηδέν. Τη στιγμή που το υπάρχον όνομα αρχείου θα είναι μηδενικό όταν εκτελείται ο βρόχος για δεύτερη φορά, θα πάρει το επόμενο αρχείο στο φάκελο.

Παράδειγμα # 4 - Λάβετε όλα τα ονόματα αρχείων στο φάκελο

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

Κώδικας:

 Sub Dir_Example4 () Dim DimName Όνομα ως συμβολοσειρά Όνομα αρχείου = Dir ("E: \ VBA Template \", vbDirectory) Κάνετε ενώ το Όνομα αρχείου "" Debug.Print FileName FileName = Dir () Loop End Sub 

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

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