GetAttr Beskrivning
Returnerar ett heltal som representerar attributen för en fil, mapp eller katalog.
Enkla GetAttr -exempel
12 | MsgBox GetAttr ("C: \")MsgBox GetAttr ("D: \ Test.txt") |
Detta kommer att returnera ett heltal enligt inställningarna för filen/mappen/enheten.
Om sökvägsnamnet inte finns kommer det att uppstå ett Run-time-fel '53': Filen hittades inte.
GetAttr -syntax
I VBA Editor kan du skriva "GetAttr (" för att se syntaxen för GetAttr -funktionen:
GetAttr -funktionen innehåller ett argument:
Sökvägsnamn: Ett stränguttryck som representerar en fil/mapp/enhet.
Returvärden
Värdet som returneras avGetAttr är summan av följande attributvärden:
Konstant | Värde | Beskrivning |
---|---|---|
vbNormalt | 0 | Vanligt. |
vbReadOnly | 1 | Skrivskyddad. |
vbHidden | 2 | Dold. |
vbSystem | 4 | Systemfil. Finns inte på Macintosh. |
vbDirectory | 16 | Katalog eller mapp. |
vbArkiv | 32 | Filen har ändrats sedan senaste säkerhetskopian. Finns inte på Macintosh. |
vbAlias | 64 | Angivet filnamn är ett alias. Finns endast på Macintosh. |
Exempel på Excel VBA GetAttr -funktion
1 | MsgBox GetAttr ("C: \ Program Files (x86)") |
1 | MsgBox GetAttr ("C: \") |
När du testar med olika mappar/filer/enheter kommer det att returnera olika nummer som 1, 2, 5, 22 och så vidare.
Till exempel, i fallet 22, betyder det vbDirectory (16) + vbSystem (4) + vbHidden (2).
För att få attributinställningarna som motsvarar varje nummer kan du använda följande funktion.
12345678910111213 | Funktion GetAttributeSettings (attr As VbFileAttribute) As StringDim strInställningar som strängstrSettings = ""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 = Mid (strSettings, 2)Avsluta funktion |
1 | MsgBox GetAttributeSettings (22) |
Resultat: "Katalog och dold & system"