Η συνάρτηση Dir

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

Σημείωση: Η συνάρτηση, τη μέθοδο, αντικείμενο ή ιδιότητα που περιγράφονται σε αυτό το θέμα είναι απενεργοποιημένη, εάν η Microsoft Jet Expression Service εκτελείται σε λειτουργία φίλτρου, η οποία δεν επιτρέπει την αξιολόγηση της ενδεχομένως μη ασφαλών παραστάσεων. Για περισσότερες πληροφορίες σχετικά με τη λειτουργία sandbox, κάντε αναζήτηση για "η λειτουργία φίλτρου" στη Βοήθεια.

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

Σύνταξη

Dir [(όνομα διαδρομής [χαρακτηριστικά] )]

Η σύνταξη της συνάρτησης Dir περιλαμβάνει τα παρακάτω ορίσματα:

Όρισμα

Περιγραφή

όνομα διαδρομής

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

χαρακτηριστικά

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


Ρυθμίσεις

Οι ρυθμίσειςόρισμαχαρακτηριστικάείναι:

Σταθερά

Τιμή

Περιγραφή

vbNormal

0

(Προεπιλογή) Καθορίζει τα αρχεία χωρίς ιδιότητες.

vbReadOnly

1

Καθορίζει αρχεία μόνο για ανάγνωση, εκτός από τα αρχεία χωρίς ιδιότητες.

vbHidden

2

Καθορίζει τα κρυφά αρχεία εκτός από τα αρχεία χωρίς ιδιότητες.

VbSystem

4

Καθορίζει το σύστημα αρχείων εκτός από τα αρχεία χωρίς ιδιότητες. Δεν είναι διαθέσιμη σε Macintosh.

vbVolume

8

Καθορίζει την ετικέτα όγκου. Εάν έχει καθοριστεί οποιαδήποτε άλλη, vbVolume παραβλέπεται. Δεν είναι διαθέσιμη σε Macintosh.

vbDirectory

16

Καθορίζει σε καταλόγους ή φακέλων εκτός από τα αρχεία χωρίς ιδιότητες.

vbAlias

64

Καθορισμένο όνομα αρχείου είναι ένα ψευδώνυμο. Είναι διαθέσιμη μόνο σε Macintosh.


Σημείωση: Οι σταθερές καθορίζονται από τη Visual Basic for Applications (VBA) και μπορεί να χρησιμοποιηθεί οπουδήποτε μέσα στον κώδικά σας στη θέση τις πραγματικές τιμές.

Παρατηρήσεις

Στα Microsoft Windows, Dir υποστηρίζει τη χρήση πολλών χαρακτήρα (*) και χαρακτήρες μπαλαντέρ μεμονωμένο χαρακτήρα (?) για να καθορίσετε πολλά αρχεία. Στον Macintosh, αυτούς τους χαρακτήρες, υπολογίζονται ως χαρακτήρες στο όνομα αρχείου έγκυρη και δεν μπορεί να χρησιμοποιηθεί ως χαρακτήρες μπαλαντέρ για να καθορίσετε πολλά αρχεία.

Επειδή το Macintosh δεν υποστηρίζει τους χαρακτήρες μπαλαντέρ, χρησιμοποιήστε τον τύπο αρχείου για τον εντοπισμό ομάδων αρχείων. Μπορείτε να χρησιμοποιήσετε τη συνάρτηση MacID για να καθορίσετε τον τύπο αρχείου αντί να χρησιμοποιήσετε τα ονόματα των αρχείων. Για παράδειγμα, η ακόλουθη πρόταση επιστρέφει το όνομα του πρώτου αρχείου ΚΕΙΜΈΝΟΥ στον τρέχοντα φάκελο:

Dir("SomePath", MacID("TEXT"))

Διαδοχικές προσεγγίσεις μέσω όλα τα αρχεία σε ένα φάκελο, καθορίστε μια κενή συμβολοσειρά:

Dir("")

Εάν χρησιμοποιείτε τη συνάρτηση MacID με Dir στα Windows, παρουσιάζεται σφάλμα.

Κάθε τιμή χαρακτηριστικά που είναι μεγαλύτερη από 256 θεωρείται τιμή MacID .

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

Dir επιστρέφει το πρώτο όνομα αρχείου που να ταιριάζει με το όνομα της διαδρομής. Για να λάβετε πρόσθετα ονόματα αρχείων που ταιριάζουν με όνομα διαδρομής, καλέστε ξανά Dir χωρίς ορίσματα. Όταν δεν υπάρχουν περισσότερα ονόματα αρχείων συμφωνούν, η συνάρτηση Dir επιστρέφει μια συμβολοσειρά μηδενικού μήκους (""). Όταν επιστρέφεται μια συμβολοσειρά μηδενικού μήκους, πρέπει να καθορίσετε όνομα διαδρομής στις επόμενες κλήσεις ή παρουσιάζεται σφάλμα. Μπορείτε να αλλάξετε σε ένα νέο όνομα διαδρομής χωρίς να ανακτήσετε όλα τα ονόματα αρχείων που ταιριάζουν με το τρέχον όνομα διαδρομής. Ωστόσο, δεν μπορείτε να καλέσετε το σταδιακά συνάρτηση Dir . Κλήση Dir με το χαρακτηριστικό vbDirectory δεν επιστρέφει συνεχώς υποκατάλογοι.

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

Παράδειγμα

Σημείωση: Παραδείγματα που ακολουθούν δείχνουν τη χρήση αυτής της συνάρτησης σε ένα έργο Visual Basic για τη λειτουργική μονάδα Applications (VBA). Για περισσότερες πληροφορίες σχετικά με την εργασία με τη VBA, επιλέξτε Αναφορά προγραμματιστών στην αναπτυσσόμενη λίστα δίπλα στο στοιχείο Αναζήτηση και πληκτρολογήστε μία ή περισσότερες όρων στο πλαίσιο αναζήτησης.

Αυτό το παράδειγμα χρησιμοποιεί τη συνάρτηση Dir για να ελέγξετε εάν υπάρχουν ορισμένα αρχεία και καταλόγους. Στον Macintosh, "HD:" είναι το προεπιλεγμένο όνομα μονάδας δίσκου και τμήματα της διαδρομής διαχωρίζονται με ερωτηματικό αντί για ανάστροφες καθέτους. Επίσης, οι χαρακτήρες μπαλαντέρ των Windows θεωρούνται έγκυροι χαρακτήρες ονόματος αρχείου σε Macintosh. Ωστόσο, μπορείτε να χρησιμοποιήσετε τη συνάρτηση MacID για να καθορίσετε τις ομάδες αρχείων.

Dim MyFile, MyPath, MyName
' Returns "WIN.INI" (on Microsoft Windows) if it exists.
MyFile = Dir("C:\WINDOWS\WIN.INI")
' Returns filename with specified extension. If more than one *.ini
' file exists, the first file found is returned.
MyFile = Dir("C:\WINDOWS\*.INI")
' Call Dir again without arguments to return the next *.INI file in the
' same directory.
MyFile = Dir
' Return first *.TXT file with a set hidden attribute.
MyFile = Dir("*.TXT", vbHidden)
' Display the names in C:\ that represent directories.
MyPath = "c:\" ' Set the path.
MyName = Dir(MyPath, vbDirectory) ' Retrieve the first entry.
Do While MyName <> "" ' Start the loop.
' Ignore the current directory and the encompassing directory.
If MyName <> "." And MyName <> ".." Then
' Use bitwise comparison to make sure MyName is a directory.
If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then
Debug.Print MyName ' Display entry only if it
End If ' it represents a directory.
End If
MyName = Dir ' Get next entry.
Loop
Αναπτύξτε τις δεξιότητές σας στο Office
Εξερευνήστε το περιεχόμενο της εκπαίδευσης
Αποκτήστε πρώτοι τις νέες δυνατότητες
Γίνετε μέλος του Office Insider

Σας βοήθησαν αυτές οι πληροφορίες;

Σας ευχαριστούμε για τα σχόλιά σας!

Σας ευχαριστούμε για τα σχόλιά σας! Φαίνεται ότι μπορεί να είναι χρήσιμο να συνδεθείτε με έναν από τους συνεργάτες υποστήριξης του Office.

×