Applies ToAccess για Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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

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

Σύνταξη

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 για να καθορίσετε τον τύπο αρχείου αντί να χρησιμοποιήσετε τα ονόματα αρχείων. Για παράδειγμα, η παρακάτω πρόταση επιστρέφει το όνομα του πρώτου αρχείου TEXT στον τρέχοντα φάκελο:

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

Για να κάνετε εναλλαγή μεταξύ όλων των αρχείων σε ένα φάκελο, καθορίστε μια κενή συμβολοσειρά:

Dir("")

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

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

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

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

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

Παράδειγμα

Σημείωση: Παραδείγματα που ακολουθούν δείχνουν τη χρήση αυτής της συνάρτησης σε μια λειτουργική μονάδα Visual Basic for 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

Χρειάζεστε περισσότερη βοήθεια;

Θέλετε περισσότερες επιλογές;

Εξερευνήστε τα πλεονεκτήματα της συνδρομής, περιηγηθείτε σε εκπαιδευτικά σεμινάρια, μάθετε πώς μπορείτε να προστατεύσετε τη συσκευή σας και πολλά άλλα.

Οι κοινότητες σάς βοηθούν να κάνετε και να απαντάτε σε ερωτήσεις, να δίνετε σχόλια και να ακούτε από ειδικούς με πλούσια γνώση.