![](https://codky.com/wp-content/uploads/2024/11/2566-1024x576.png)
In VBA (Visual Basic for Applications) wird die Funktion `FileAttr` verwendet, um den Attributwert einer Datei oder eines geöffneten Dateikanals zu ermitteln. `FileAttr` gibt unterschiedliche Informationen zurück, je nachdem, welche Nummer für das Argument `Attribute ` verwendet wird. Es gibt zwei Hauptverwendungen:
- Um den Zugriffsmodus einer Datei zu bestimmen.
- Um die Dateizugriffsnummer zu erhalten.
Syntax
FileAttr(filenumber, attribute)
- filenumber: Erforderlich. Eine ganze Zahl, die die Dateinummer der Datei darstellt, die mit `Open` geöffnet wurde.
- attribute: Erforderlich. Eine Konstante, die den Wert des Attributs angibt, das Sie abrufen möchten. Die möglichen Werte sind:
- 1: Um den Zugriffsmodus der Datei zu bestimmen.
- 2: Um die Windows-Dateizugriffsnummer der Datei zu erhalten.
Beispiele
Beispiel 1: Bestimmung des Zugriffsmodus
Dim fileNumber As Integer
Dim accessMode As Integer
fileNumber = FreeFile() ' Holt die nächste verfügbare Dateinummer
Open "C:example.txt" For Input As #fileNumber
accessMode = FileAttr(fileNumber, 1)
Select Case accessMode
Case vbInput:
MsgBox "Die Datei wird im Eingabemodus geöffnet."
Case vbOutput:
MsgBox "Die Datei wird im Ausgabemodus geöffnet."
Case vbAppend:
MsgBox "Die Datei wird im Anhängemodus geöffnet."
Case vbBinary:
MsgBox "Die Datei wird im Binärmodus geöffnet."
Case vbRandom:
MsgBox "Die Datei wird im Zufallsmodus geöffnet."
End Select
Close #fileNumber
Beispiel 2: Bestimmung der Dateizugriffsnummer
Dim fileNumber As Integer
Dim fileAccessNumber As Integer
fileNumber = FreeFile()
Open "C:example.txt" For Input As #fileNumber
fileAccessNumber = FileAttr(fileNumber, 2)
MsgBox "Die Dateizugriffsnummer ist: " & fileAccessNumber
Close #fileNumber
Hinweise
- Bevor Sie `FileAttr` verwenden, sollten Sie sicherstellen, dass die Datei mit `Open` geöffnet wurde, da sonst ein Fehler auftritt.
- `FileAttr` kann besonders nützlich sein, wenn Sie den aktuellen Zustand einer Datei überprüfen müssen, wie beim Debugging oder bei der Fehlerbehandlung.
Wichtig ist auch, die Datei nach Abschluss mit dem `Close`-Befehl wieder zu schließen, um Ressourcen freizugeben und Dateiverarbeitungskonflikte zu vermeiden.