In VBA (Visual Basic for Applications) wird die `Input #`-Anweisung verwendet, um Daten aus einer Datei zu lesen. Diese Anweisung ist hilfreich, wenn Sie zeilenweise oder datensatzweise Dateiinhalt in eine Variable einlesen möchten.
Hier ist ein einfaches Beispiel, wie die `Input #`-Anweisung in VBA verwendet werden kann:
Sub ReadFromFile()
Dim fileNumber As Integer
Dim fileName As String
Dim inputData As String
' Dateiname angeben
fileName = "C:PfadzurDatei.txt"
' Nächste verfügbare Dateinummer abrufen
fileNumber = FreeFile
' Datei zum Lesen öffnen
Open fileName For Input As #fileNumber
' Datei zeilenweise lesen
Do While Not EOF(fileNumber)
Line Input #fileNumber, inputData
' Verarbeiten Sie die eingelesenen Daten
Debug.Print inputData
Loop
' Datei schließen
Close #fileNumber
End Sub
Erläuterung:
- `FreeFile`: Diese Funktion gibt die nächste verfügbare Dateinummer zurück, die im `Open` Statement verwendet wird. Dadurch wird verhindert, dass eine bereits geöffnete Dateinummer überschrieben wird.
- `Open`: Der Befehl öffnet die Datei, damit sie eingelesen werden kann. Hier verwenden wir den Modus `Input`, um die Datei nur zu lesen.
- `EOF(fileNumber)`: Das steht für “End of File”. Solange das Ende der Datei (EOF) nicht erreicht ist, wird die Schleife fortgesetzt.
- `Line Input #`: Liest eine ganze Zeile aus der Datei in die Variable `inputData`.
- `Debug.Print`: Gibt die eingelesenen Daten im Direktfenster von VBE (Visual Basic Editor) aus. Sie können hier auch die Daten anderweitig verarbeiten.
- `Close`: Diese Anweisung schließt die geöffnete Datei.
Beachten Sie bitte, dass Sie den Pfad zur Datei entsprechend Ihrer Datei anpassen müssen. Die Anweisung `Line Input #` ist ideal, wenn Sie mit Textdateien arbeiten, die zeilenweise organisiert sind. Wenn Ihre Datei unterschiedliche Strukturen hat, wie zum Beispiel CSV, möchten Sie eventuell zusätzliche String-Verarbeitungsfunktionen verwenden, um die Daten in sinnvolle Teile zu zerlegen.