Wie verwende ich die Funktion GetAttr in VBA?

In VBA (Visual Basic for Applications) wird die Funktion `GetAttr` verwendet, um die Dateiattribute einer Datei oder eines Verzeichnisses abzurufen. Diese Funktion gibt einen ganzzahligen Wert zurück, der die Attribute repräsentiert. Hier ist, wie Sie `GetAttr` verwenden können:

Syntax

GetAttr(pathname)
  • `pathname`: Ein erforderlicher Parameter. Es handelt sich um einen String-Ausdruck, der den Pfad- und Dateinamen einer Datei oder eines Verzeichnisses angibt, für die die Attribute zurückgegeben werden sollen.

Rückgabewerte

Die Funktion `GetAttr` gibt einen Integer zurück, der eine Kombination der Dateiattribute darstellt. Diese Attribute können unter Verwendung von Konstanten kombiniert werden:

  • `vbNormal` (0): Normal, keine Attribute gesetzt.
  • `vbReadOnly` (1): Nur-Lese-Zugriff.
  • `vbHidden` (2): Versteckte Datei.
  • `vbSystem` (4): Systemdatei.
  • `vbDirectory` (16): Verzeichnis oder Ordner.
  • `vbArchive` (32): Archivdatei.

Um die Dateiattribute abzurufen, können Sie die Bitmaskierung verwenden.

Beispiel

Hier ist ein einfaches Beispiel zur Verwendung der `GetAttr`-Funktion:

Sub BeispielGetAttr()
    Dim Dateipfad As String
    Dim Attribute As Integer
    
    ' Pfad zu der Datei oder dem Verzeichnis eingeben
    Dateipfad = "C:BeispielDatei.txt"
    
    ' Erhalte die Attribute für die angegebene Datei
    On Error Resume Next ' Fehlerbehandlung aktivieren
    Attribute = GetAttr(Dateipfad)
    On Error GoTo 0 ' Fehlerbehandlung deaktivieren
    
    ' Überprüfen, welche Attribute gesetzt sind
    If (Attribute And vbReadOnly) = vbReadOnly Then
        MsgBox "Die Datei ist schreibgeschützt."
    End If
    
    If (Attribute And vbHidden) = vbHidden Then
        MsgBox "Die Datei ist versteckt."
    End If
    
    If (Attribute And vbSystem) = vbSystem Then
        MsgBox "Die Datei ist eine Systemdatei."
    End If
    
    If (Attribute And vbDirectory) = vbDirectory Then
        MsgBox "Dies ist ein Verzeichnis."
    End If
    
    If (Attribute And vbArchive) = vbArchive Then
        MsgBox "Die Datei ist eine Archivdatei."
    End If
End Sub

In diesem Beispiel wird der Dateipfad angegeben und die `GetAttr`-Funktion abgerufen, um die Attribute der Datei oder des Verzeichnisses zu bestimmen. Je nach den gesetzten Attributen werden entsprechende Nachrichten angezeigt.

Wichtiger Hinweis

Stellen Sie sicher, dass der angegebene Pfad korrekt und die Datei oder das Verzeichnis vorhanden ist, da sonst ein Fehler auftreten kann. Die Verwendung von `On Error Resume Next` kann helfen, Fehler bei nicht vorhandenen Dateien zu umgehen.

Unlock Your Potential

Excel

Basic - Advanced

Access

Access Basic - Advanced

Power BI

Power BI Basic - Advanced

Help us grow the project