Λειτουργία GetAttr VBA

Περιγραφή GetAttr

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

Απλά παραδείγματα GetAttr

12 MsgBox GetAttr ("C: \")MsgBox GetAttr ("D: \ Test.txt")

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

Εάν το όνομα της διαδρομής δεν υπάρχει, θα εμφανιστεί σφάλμα χρόνου εκτέλεσης '53': Το αρχείο δεν βρέθηκε.

Σύνταξη GetAttr

Στο πρόγραμμα επεξεργασίας VBA, μπορείτε να πληκτρολογήσετε "GetAttr (" για να δείτε τη σύνταξη για τη λειτουργία GetAttr:

Η συνάρτηση GetAttr περιέχει ένα όρισμα:

Όνομα διαδρομής: Μια παράσταση συμβολοσειράς που αντιπροσωπεύει ένα αρχείο/φάκελο/μονάδα δίσκου.

Επιστροφή τιμών

Η τιμή που επιστρέφεται απόGetAttr είναι το άθροισμα των ακόλουθων τιμών χαρακτηριστικών:

Συνεχής αξία Περιγραφή
vbΚανονικό 0 Κανονικός.
vbReadOnly 1 Μόνο για ανάγνωση.
vbΚρυμμένο 2 Κρυμμένος.
vbSystem 4 Αρχείο συστήματος. Δεν διατίθεται στο Macintosh.
vbDirectory 16 Κατάλογος ή φάκελος.
vbArchive 32 Το αρχείο έχει αλλάξει από το τελευταίο αντίγραφο ασφαλείας. Δεν διατίθεται στο Macintosh.
vbAlias 64 Το καθορισμένο όνομα αρχείου είναι ψευδώνυμο. Διατίθεται μόνο στο Macintosh.

Παραδείγματα της συνάρτησης Excel VBA GetAttr

1 MsgBox GetAttr ("C: \ Program Files (x86)")
1 MsgBox GetAttr ("C: \")

Κατά τη δοκιμή με διάφορους φακέλους/αρχεία/μονάδες δίσκου, θα επιστρέψει διάφορους αριθμούς όπως 1, 2, 5, 22 κ.ο.κ.

Για παράδειγμα, σε περίπτωση 22, σημαίνει vbDirectory (16) + vbSystem (4) + vbHidden (2).

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

12345678910111213 Λειτουργία GetAttributeSettings (attr As VbFileAttribute) As StringDim str Ρυθμίσεις ως συμβολοσειράstrSettings = ""If (attr And vbDirectory) = vbDirectory Στη συνέχεια strSettings = strSettings & "& Directory"If (attr And vbVolume) = vbVolume Τότε strSettings = strSettings & "& Volumn"If (attr And vbAlias) = ​​vbAlias ​​Στη συνέχεια strSettings = strSettings & "& Alias"If (attr And vbArchive) = vbArchive Στη συνέχεια strSettings = strSettings & "& Archive"If (attr And vbHidden) = vbHidden Τότε strSettings = strSettings & "& Hidden"Εάν (attr Και vbReadOnly) = vbReadOnly Τότε strSettings = strSettings & "& ReadOnly"Εάν (attr Και vbSystem) = vbSystem Τότε strSettings = strSettings & "& System"GetAttributeSettings = Μέση (strSettings, 2)Λειτουργία Τέλους
1 MsgBox GetAttributeSettings (22)

Αποτέλεσμα: "Κατάλογος & Κρυφό & Σύστημα"

wave wave wave wave wave