GetAttr Beskrivelse
Returnerer et helt tal, der repræsenterer attributterne for en fil, mappe eller bibliotek.
Enkle GetAttr -eksempler
12 | MsgBox GetAttr ("C: \")MsgBox GetAttr ("D: \ Test.txt") |
Dette vil returnere et helt tal i henhold til indstillingerne for filen/mappen/drevet.
Hvis stienavnet ikke findes, vil der forekomme en Run-time fejl '53': Filen blev ikke fundet.
GetAttr -syntaks
I VBA Editor kan du skrive "GetAttr (" for at se syntaksen for GetAttr -funktionen:
GetAttr -funktionen indeholder et argument:
Stienavn: Et strengudtryk, der repræsenterer en fil/mappe/drev.
Returværdier
Værdien returneret afGetAttr er summen af følgende attributværdier:
Konstant | Værdi | Beskrivelse |
---|---|---|
vbNormal | 0 | Normal. |
vbReadOnly | 1 | Læs kun. |
vbSkjult | 2 | Skjult. |
vbSystem | 4 | Systemfil. Ikke tilgængelig på Macintosh. |
vbDirectory | 16 | Telefonbog eller mappe. |
vbArkiv | 32 | Filen er ændret siden sidste sikkerhedskopiering. Ikke tilgængelig på Macintosh. |
vbAlias | 64 | Det angivne filnavn er et alias. Fås kun på Macintosh. |
Eksempler på Excel VBA GetAttr -funktion
1 | MsgBox GetAttr ("C: \ Program Files (x86)") |
1 | MsgBox GetAttr ("C: \") |
Når du tester med forskellige mapper/filer/drev, returnerer den forskellige numre som 1, 2, 5, 22 og så videre.
For eksempel i tilfælde af 22 betyder det vbDirectory (16) + vbSystem (4) + vbHidden (2).
For at få de attributter, der svarer til hvert nummer, kan du bruge følgende funktion.
12345678910111213 | Funktion GetAttributeSettings (attr Som VbFileAttribute) Som StringDim strSettings som strengstrSettings = ""If (attr And vbDirectory) = vbDirectory Then strSettings = strSettings & "& Directory"If (attr And vbVolume) = vbVolume Then strSettings = strSettings & "& Volumn"If (attr And vbAlias) = vbAlias Then strSettings = strSettings & "& Alias"If (attr And vbArchive) = vbArchive Then strSettings = strSettings & "& Archive"If (attr And vbHidden) = vbHidden Then strSettings = strSettings & "& Hidden"If (attr And vbReadOnly) = vbReadOnly Then strSettings = strSettings & "& ReadOnly"If (attr And vbSystem) = vbSystem Then strSettings = strSettings & "& System"GetAttributeSettings = Midt (strSettings, 2)Afslut funktion |
1 | MsgBox GetAttributeSettings (22) |
Resultat: "Directory & Hidden & System"