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“