Πώς να χρησιμοποιήσετε τη λειτουργία DIR της VBA στο Excel (7 πρακτικά παραδείγματα)

  • Μοιραστείτε Αυτό
Hugh West

Το 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. Ευχαριστούμε για την υπομονή σας στην ανάγνωση αυτού του άρθρου.

Ο Hugh West είναι ένας εξαιρετικά έμπειρος εκπαιδευτής και αναλυτής του Excel με πάνω από 10 χρόνια εμπειρίας στον κλάδο. Είναι κάτοχος πτυχίου Λογιστικής και Χρηματοοικονομικής και μεταπτυχιακού στη Διοίκηση Επιχειρήσεων. Ο Hugh έχει πάθος για τη διδασκαλία και έχει αναπτύξει μια μοναδική προσέγγιση διδασκαλίας που είναι εύκολο να ακολουθηθεί και να κατανοηθεί. Οι εξειδικευμένες γνώσεις του στο Excel έχουν βοηθήσει χιλιάδες φοιτητές και επαγγελματίες παγκοσμίως να βελτιώσουν τις δεξιότητές τους και να διαπρέψουν στην καριέρα τους. Μέσω του ιστολογίου του, ο Hugh μοιράζεται τις γνώσεις του με τον κόσμο, προσφέροντας δωρεάν μαθήματα Excel και διαδικτυακή εκπαίδευση για να βοηθήσει άτομα και επιχειρήσεις να αξιοποιήσουν πλήρως τις δυνατότητές τους.