Πίνακας περιεχομένων
Το DIR λειτουργία στο VBA σας δείχνει κυρίως τον κατάλογο ή τα αρχεία από έναν δεδομένο φάκελο. Μπορεί επίσης να επιστρέψει το πρώτο αρχείο με αυτή τη συνάρτηση. Αυτή η συνάρτηση έχει πολλές χρήσεις για να πάρετε συγκεκριμένα αρχεία και φακέλους. Το μόνο που χρειάζεται είναι να εισαγάγετε τη διαδρομή του αρχείου στο pathname της VBA Μπορεί να σας είναι πιο δύσκολο να χρησιμοποιήσετε τον κώδικα VBA DIR Μην ανησυχείτε, σε αυτό το άρθρο, θα σας δείξουμε μερικά παραδείγματα για μια καλύτερη οπτικοποίηση της χρήσης του VBA DIR Ελπίζω να είστε σε θέση να χρησιμοποιήσετε τη συνάρτηση μετά την ανάγνωση του άρθρου. Ας ξεκινήσουμε λοιπόν.
Κατεβάστε το βιβλίο ασκήσεων
Κατεβάστε το παρακάτω βιβλίο ασκήσεων που θα σας βοηθήσει να κατανοήσετε καλύτερα το θέμα.
DIR Function.xlsmΕισαγωγή στη λειτουργία DIR
Περίληψη:
Το VBA DIR επιστρέφει το όνομα ενός αρχείου ή καταλόγου από μια δεδομένη διαδρομή φακέλου. Συμβατικά, επιστρέφει το πρώτο αρχείο.
Σύνταξη:
Dir [ (pathname, [ attributes ] ) ]
Επιχειρήματα Επεξήγηση:
Επιχειρήματα | Υποχρεωτικό/προαιρετικό | Επεξήγηση |
---|---|---|
PathName | Προαιρετικό | Διαδρομή για πρόσβαση και καθορίζει το αρχείο |
Χαρακτηριστικά | Προαιρετικό | Σταθερή ή αριθμητική έκφραση καθορίζει τα χαρακτηριστικά των αρχείων που ταιριάζουν |
Υπάρχουν μερικά προκαθορισμένα χαρακτηριστικά, τα οποία είναι...
Όνομα χαρακτηριστικού | Περιγραφή |
---|---|
vbNormal | Αρχεία χωρίς συγκεκριμένα χαρακτηριστικά |
vbReadOnly | Αρχεία μόνο για ανάγνωση χωρίς χαρακτηριστικά |
vbHidden | Κρυφά αρχεία χωρίς χαρακτηριστικά |
vbSystem | Αρχεία συστήματος χωρίς χαρακτηριστικά |
vbVolume | Ετικέτα όγκου |
vbDirectory | Κατάλογοι ή φάκελοι χωρίς χαρακτηριστικά |
vbAlias | Το καθορισμένο όνομα αρχείου είναι ψευδώνυμο |
7 παραδείγματα χρήσης της συνάρτησης DIR της VBA στο Excel
Από την περιγραφή, μπορεί να καταλάβατε ότι η VBA DIR παρέχει το όνομα του αρχείου από το παρεχόμενο όνομα διαδρομής. Ας το κατανοήσουμε με ένα παράδειγμα. Εδώ έχουμε δημιουργήσει έναν κατάλογο Φάκελος Exceldemy_Folder Υπάρχουν διάφοροι μικροί φάκελοι και αρχεία σε αυτόν το φάκελο.
1. Βρείτε το όνομα αρχείου από τη διαδρομή
Στο φάκελό μας, μπορούμε να βρούμε ένα συγκεκριμένο αρχείο δηλώνοντας τη διαδρομή του ονόματος του αρχείου.
Αφού αντιγράψετε τη διαδρομή του αρχείου, πρέπει να εκτελέσετε τον κώδικα.
Για το λόγο αυτό, μεταβείτε στο Προγραμματιστής tab>> pick Visual Basic . Στη συνέχεια, πηγαίνετε στο Εισαγωγή tab>> select Ενότητα. Στο Γενικά παράθυρο διαλόγου, γράφουμε τον κώδικα.
Καθώς η ατζέντα μας είναι να βρούμε το Όνομα αρχείου από το όνομα διαδρομής, θα ορίσουμε το πλήρες όνομα διαδρομής (από την ίδια τη ρίζα στο αρχείο) και ο κώδικάς μας θα είναι
Sub FileNames() Dim FN As String FN = Dir("E:\Exceldemy\Sales_of_January.xlsx") MsgBox FN End Sub
Εδώ μέσα στον κώδικά μας, έχουμε ορίσει το όνομα διαδρομής ως E:\Exceldemy\Sales_of_January.xlsx
Ανάλυση κώδικα:
- Αρχικά, δηλώσαμε μια μεταβλητή συμβολοσειράς που ονομάζεται FN Και η έξοδος του Dir αποθηκεύτηκε σε αυτή τη μεταβλητή.
- Στη συνέχεια, η Dir βρίσκει το όνομα του αρχείου και το επιστρέφει από την παρεχόμενη διαδρομή.
- Τότε η MsgBox καθορίζει την έξοδο μέσω του πλαισίου μηνυμάτων. MsgBox επιστρέφει την έξοδο χρησιμοποιώντας ένα πλαίσιο μηνυμάτων.
- Στη συνέχεια, εκτελέστε τον κώδικα με την εντολή F5 κλειδί.
Τέλος, βρήκαμε το αρχείο με όνομα Πωλήσεις_του_Ιανουαρίου.xlsx .
2. Ελέγξτε την ύπαρξη ενός καταλόγου
Μπορούμε να ελέγξουμε την ύπαρξη ενός καταλόγου χρησιμοποιώντας την εντολή Dir Ας γράψουμε τον κώδικα για να ελέγξουμε αν το Exceldemy Γράψτε τον ακόλουθο κώδικα στο γενικό πλαίσιο και εκτελέστε τον με την εντολή F5 κλειδί.
Sub CheckFile() Dim PN As String Dim File As String PN = "E:\Exceldemy" File = Dir(PN, vbDirectory) If File "" Then MsgBox File & " exists" Else MsgBox "The file doesn't exist" End If End Sub
Ανάλυση κώδικα:
- Έχουμε δηλώσει δύο μεταβλητές, PN περιέχει το πλήρες όνομα διαδρομής του καταλόγου ελέγχου.
- Εδώ μέσα στο Dir συνάρτηση, έχουμε ορίσει δύο τιμές, το όνομα διαδρομής και την τιμή του χαρακτηριστικού ως vbDirectory Αυτή η τιμή του χαρακτηριστικού θα βοηθήσει στην ανίχνευση του καταλόγου. Και η έξοδος αυτής της συνάρτησης αποθηκεύεται στο αρχείο Αρχείο μεταβλητή.
- Στη συνέχεια ελέγξαμε αν η μεταβλητή είναι κενή ή όχι. Αν διαπιστώσουμε ότι η μεταβλητή δεν είναι, τότε δηλώνουμε την ύπαρξη του καταλόγου μέσω ενός πλαισίου μηνυμάτων, διαφορετικά, η επιστροφή δεν υπάρχει.
Εδώ, η Exceldemy υπάρχει, οπότε θα βρούμε το " Υπάρχει Exceldemy ", όπου Exceldemy είναι το όνομα του φακέλου.
3. Δημιουργήστε έναν φάκελο που δεν υπάρχει
Μπορείτε να δημιουργήσετε έναν φάκελο που δεν υπάρχει στον υπολογιστή σας. Για το σκοπό αυτό, πρέπει να δημιουργήσετε ένα όνομα διαδρομής που δεν υπάρχει στους φακέλους σας. Ας φανταστούμε ότι θα δημιουργήσουμε έναν κατάλογο με όνομα Exceldemy_1 Θα χρησιμοποιήσουμε το MkDir εντολή για να δημιουργήσουμε τον κατάλογο, αλλά πριν από αυτό, πρέπει να γράψουμε το εξής VBA κωδικός.
Sub CheckFile() Dim PN As String Dim File As String PN = "E:\Exceldemy_1" File = Dir(PN, vbDirectory) If File "" Then MsgBox File & " Φάκελος αρχείου υπάρχει" Else MkDir PN MsgBox "Έχει δημιουργηθεί ένας φάκελος αρχείου με το όνομα" & File End If End Sub
Εδώ έχουμε γράψει μια εντολή για τη δημιουργία του καταλόγου χρησιμοποιώντας το όνομα διαδρομής από το Αλλιώς μπλοκ του κώδικά μας. Εκτέλεση ο κώδικας με το F5 κλειδί.
Ο κατάλογος έχει δημιουργηθεί. Ας δούμε το φάκελο του καταλόγου. Exceldemy_1 είναι πλέον ορατός στον υπολογιστή σας.
Παρόμοιες αναγνώσεις:
- Πώς να καλέσετε μια υποενότητα στην VBA στο Excel (4 παραδείγματα)
- Επιστροφή μιας τιμής σε συνάρτηση VBA (τιμές τόσο σε συστοιχίες όσο και σε μη συστοιχίες)
- Χρήση της συνάρτησης VBA UCASE στο Excel (4 παραδείγματα)
- Πώς να χρησιμοποιήσετε τη λειτουργία TRIM στη VBA στο Excel (Ορισμός + κώδικας VBA)
4. Εύρεση του πρώτου αρχείου από έναν κατάλογο
Το πρωταρχικό καθήκον του Dir Το μόνο που χρειάζεται να δώσετε μέσα στη συνάρτηση είναι το όνομα διαδρομής (μέχρι τον κατάλογο-περιέκτη), και θα επιστρέψει το πρώτο αρχείο από αυτόν τον κατάλογο.
Ας βρούμε το πρώτο αρχείο από το Exceldemy Ο κώδικάς μας θα είναι
Sub FirstFileinFolder() Dim FN As String Dim PN As String PN = "E:\Exceldemy\" FN = Dir(PN) MsgBox "Πρώτο αρχείο: " & FN End Sub
Μπορείτε να δείτε τον βασικό κώδικα- έχουμε περάσει το όνομα διαδρομής στην εντολή Dir λειτουργία. Τώρα Εκτέλεση ο κώδικας με το F5 θα βρείτε το πρώτο αρχείο σε αυτόν τον κατάλογο.
5. Εύρεση όλων των αρχείων από έναν κατάλογο
Στην προηγούμενη ενότητα, είδαμε πώς να βρούμε το πρώτο όνομα αρχείου από έναν κατάλογο. Μπορεί να προκύψει η κατάσταση όταν πρέπει να βρείτε όλα τα αρχεία από έναν συγκεκριμένο κατάλογο. Για να βρείτε όλα τα αρχεία σε έναν συγκεκριμένο κατάλογο, πρέπει να γράψετε τα εξής VBA κωδικός.
Sub AllFile() Dim FN As String Dim FL As String FN = Dir("E:\Exceldemy\") Do While FN "" FL = FL & vbNewLine & FN FN = Dir() Loop MsgBox ("File List:" & FL) End Sub
Εδώ είναι δύο μεταβλητές για την αποθήκευση των ονομάτων αρχείων ως ενιαίο ( FN ), και ως λίστα ( FL ). Do While βρόχος επαναλαμβάνει μέχρι κανένα αρχείο να μην παραμένει στον κατάλογο, χρησιμοποιώντας αυτόν τον βρόχο, σπρώχνουμε κάθε όνομα αρχείου στον κατάλογο FL μεταβλητή.
Εκτελέστε τον κώδικα και θα βρείτε όλα τα αρχεία στον κατάλογο, όπως στην παρακάτω εικόνα.
6. Εύρεση όλων των αρχείων και φακέλων από έναν κατάλογο
Αναφέραμε στην προηγούμενη ενότητα πού μπορούμε να βρούμε όλα τα αρχεία. Μπορούμε επίσης να βρούμε όλους τους υποφακέλους ενός φακέλου. Για να το κάνουμε αυτό, γράψτε τα εξής VBA κώδικα που επισυνάπτουμε παρακάτω.
Sub AllFileFolders() Dim AN As String Dim Lst As String AN = Dir("E:\Exceldemy_Folder\", vbDirectory) Do While AN "" Lst = Lst & vbNewLine & AN AN = Dir() Loop MsgBox ("File Lst:" & Lst) End Sub
Η αλλαγή στον κώδικά μας είναι απλώς η χρήση των παραμέτρων χαρακτηριστικών. Έχουμε χρησιμοποιήσει την εντολή vbDirectory σε αυτόν τον τομέα. Εκτέλεση τον κώδικα, και θα βρείτε όλα τα αρχεία και τους υποφακέλους του Φάκελος Exceldemy_Folder .
7. Εύρεση όλων των αρχείων ενός συγκεκριμένου τύπου
Χρησιμοποιώντας το VBA Dir μπορούμε να βρούμε οποιονδήποτε συγκεκριμένο τύπο αρχείου. Ας το εξερευνήσουμε με ένα παράδειγμα.
Θα βρούμε .csv Ο κώδικάς μας θα είναι σαν τον ακόλουθο-
Sub SpecialTypeFiles() Dim FL As String Dim FN As String FN = Dir("E:\Exceldemy_Folder\Exceldemy\*.csv") Do While FN "" FL = FL & vbNewLine & FN FN = Dir() Loop MsgBox ("List of .csv Files:" & FL) End Sub
Ελπίζουμε να καταλάβατε τον κώδικα, ο οποίος χρησιμοποιεί έναν παρόμοιο μηχανισμό για την εύρεση αρχείων. Στο όνομα διαδρομής, χρησιμοποιήσαμε έναν μπαλαντέρ ( * ). Αυτός ο αστερίσκος (*) δηλώνει ότι μπορεί να εμφανιστεί οποιοσδήποτε χαρακτήρας μέχρι και οποιοσδήποτε αριθμός. Το wildcard έχει χρησιμοποιηθεί με τέτοιο τρόπο ώστε το όνομα του αρχείου να μπορεί να είναι οτιδήποτε αλλά πρέπει να είναι ένα .csv αρχείο.
Όταν εκτελείτε τον κώδικα, θα επιστρέψει το .csv αρχεία από το Exceldemy κατάλογο.
Τμήμα πρακτικής
Σε κάθε φύλλο, στη δεξιά πλευρά, έχουμε δώσει ένα τμήμα εξάσκησης για την εξάσκησή σας. Παρακαλώ κάντε το μόνοι σας.
Συμπέρασμα
Αυτά είναι όλα για τη σημερινή συνεδρία. Και αυτά είναι μερικά εύκολα παραδείγματα των VBA Dir συνάρτηση στο Excel. Παρακαλούμε ενημερώστε μας στην ενότητα των σχολίων αν έχετε ερωτήσεις ή προτάσεις. Για καλύτερη κατανόηση, παρακαλούμε κατεβάστε το φύλλο πρακτικής εξάσκησης. Επισκεφθείτε την ιστοσελίδα μας, Exceldemy , έναν πάροχο λύσεων του Excel, για να μάθετε για διάφορα είδη μεθόδων του Excel. Ευχαριστούμε για την υπομονή σας στην ανάγνωση αυτού του άρθρου.