Wie verwende ich die Funktion EOF in VBA?

Die Funktion `EOF` (End Of File) in VBA wird verwendet, um zu überprüfen, ob das Ende einer Datei in einem sequentiellen Datei-I/O-Vorgang erreicht wurde. Diese Funktion ist nützlich, wenn Sie aus einer Datei lesen und wissen möchten, wann Sie das Dateiende erreicht haben, um eine Schleife zu beenden oder eine andere Aktion auszuführen.

Hier ist ein einfaches Beispiel, wie Sie `EOF` in VBA verwenden können:

  • Öffnen Sie die Datei: Verwenden Sie die `Open`-Anweisung, um eine Datei im Eingabemodus zu öffnen.
  • Lesen Sie aus der Datei: Verwenden Sie eine Schleife, um Zeilen oder Daten aus der Datei zu lesen.
  • Überprüfen Sie das Dateiende: Verwenden Sie `EOF`, um zu prüfen, ob das Ende der Datei erreicht wurde.

Hier ist ein vollständiges Codebeispiel:

Sub ReadFile()
    Dim fileNumber As Integer
    Dim lineOfText As String
    Dim filePath As String

    ' Pfad zur Datei angeben
    filePath = "C:PfadzurDatei.txt"

    ' Eine freie Dateinummer zuweisen
    fileNumber = FreeFile

    ' Datei im Input-Modus öffnen
    Open filePath For Input As #fileNumber

    ' Lesen bis zum Ende der Datei
    Do While Not EOF(fileNumber)
        ' Lesen Sie eine Zeile aus der Datei
        Line Input #fileNumber, lineOfText
        
        ' Ausgabe der gelesenen Zeile im Direktfenster
        Debug.Print lineOfText
    Loop

    ' Datei schließen
    Close #fileNumber
End Sub

Erläuterung:

  • `FreeFile` wird verwendet, um eine verfügbare Dateinummer zu erhalten, die dann beim Öffnen der Datei verwendet wird.
  • `Open … For Input` öffnet die Datei im Lesemodus.
  • `Line Input` liest eine vollständige Zeile aus der Datei.
  • `EOF(fileNumber)` gibt `True` zurück, wenn das Ende der Datei erreicht ist, wodurch die Schleife beendet wird.
  • `Close` schließt die geöffnete Datei.

Stellen Sie sicher, dass der Pfad zur Datei korrekt ist und dass die Datei existiert und lesbar ist, bevor Sie den Code ausführen. Dieses Beispiel liest die Datei zeilenweise, Sie können aber auch andere Leseoperationen je nach Bedarf verwenden.

Unlock Your Potential

Excel

Basic - Advanced

Access

Access Basic - Advanced

Power BI

Power BI Basic - Advanced

Help us grow the project