VBA GetAttr-Funktion

GetAttr Beschreibung

Gibt eine ganze Zahl zurück, die die Attribute einer Datei, eines Ordners oder eines Verzeichnisses darstellt.

Einfache GetAttr-Beispiele

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

Dies gibt eine ganze Zahl gemäß den Einstellungen der Datei/des Ordners/des Laufwerks zurück.

Wenn der Pfadname nicht existiert, tritt ein Laufzeitfehler ’53’ auf: Datei nicht gefunden.

GetAttr-Syntax

Im VBA-Editor können Sie „GetAttr(“ eingeben, um die Syntax für die GetAttr-Funktion anzuzeigen:

Die Funktion GetAttr enthält ein Argument:

Pfadname: Ein Zeichenfolgenausdruck, der eine Datei/einen Ordner/ein Laufwerk darstellt.

Rückgabewerte

Der von zurückgegebene WertGetAttr ist die Summe der folgenden Attributwerte:

Konstante Wert Beschreibung
vbNormal 0 Normal.
vbReadOnly 1 Schreibgeschützt.
vbVersteckt 2 Versteckt.
vbSystem 4 Systemdatei. Auf dem Macintosh nicht verfügbar.
vbVerzeichnis 16 Verzeichnis oder Ordner.
vbArchiv 32 Die Datei hat sich seit der letzten Sicherung geändert. Auf dem Macintosh nicht verfügbar.
vbAlias 64 Der angegebene Dateiname ist ein Alias. Nur auf dem Macintosh verfügbar.

Beispiele für Excel VBA GetAttr-Funktion

1 MsgBox GetAttr("C:\Programme (x86)")
1 MsgBox GetAttr("C:\")

Beim Testen mit verschiedenen Ordnern/Dateien/Laufwerken werden verschiedene Zahlen wie 1, 2, 5, 22 usw. zurückgegeben.

Im Fall von 22 bedeutet dies beispielsweise vbDirectory(16) + vbSystem(4) + vbHidden(2).

Um die Attributeinstellungen für jede Zahl zu erhalten, können Sie die folgende Funktion verwenden.

12345678910111213 Funktion GetAttributeSettings(attr As VbFileAttribute) As StringDim strSettings As StringstrSettings = ""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)Endfunktion
1 MsgBox GetAttributeSettings(22)

Ergebnis: „Verzeichnis&Verstecktes&System“

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave