VBA GetAttr -funktion

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"

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave