Textdateien mit dem FileSystemObject

Textdateien öffnen, lesen, schreiben und schließen Sie normalerweise mit den Methoden Open, Get, Print, Input oder Close der VBA-Bibliothek. Es gibt jedoch auch noch eine Alternative, die Sie sich mit einem einfachen Verweis erschließen können: Das FileSystemObject und das darin enthaltene Textstream-Objekt. Wie Sie damit komfortabel Textdateien erstellen, bearbeiten, lesen und löschen, erfahren Sie in diesem Beitrag.

FileSystemObject verfügbar machen

Das FileSystemObject-Objekt steckt in der Bibliothek Microsoft Scripting Runtime. Sie können auf dieses Objekt zugreifen, indem Sie einen Verweis auf dieses Bibliothek setzen (Early Binding) oder indem Sie diesen Verweis erst zur Laufzeit per Late Binding herstellen.

Wenn Sie über den Verweise-Dialog (s. Bild 1) einen Verweis auf diese Bibliothek erstellen, können Sie die Methoden und Eigenschaften dieser Bibliothek per IntelliSense referenzieren und die Konstanten ausschreiben:

pic005.png

Bild 1: Verweis auf die Bibliothek Microsoft Scripting Runtime

Dim objFSO As Scripting.FileSystemObject
Set objFSO = New Scripting.FileSystemObject

Anderenfalls ersetzen Sie in den Beispielen die Objekttypen der Deklarationen durch Object und verwenden diese Anweisung zur Instanzierung:

Dim objFSO As Object
Set objFSO = CreateObject("Scripting.FileSystemObject")

Auch wenn das Resultat keinen Verweis auf diese Bibliothek enthalten soll, können Sie zunächst mit Early Binding arbeiten und so IntelliSense nutzen, was ein großer Vorteil ist – gerade, wenn Sie sich in einer Bibliothek noch nicht gut auskennen.

Später entfernen Sie dann den Verweis und kompilieren das VBA-Projekt, um zu ermitteln, an welchen Stellen änderungen vorzunehmen sind, um diese auf Late Binding umzustellen.

Textdateien erstellen

Das FileSystemObject-Objekt erlaubt das Erstellen von Textdateien. Dies erledigen Sie mit der Methode CreateTextfile des Objekts. Wenn die Textdatei nach der Erstellung etwa mit Text gefüllt werden soll, tragen Sie den Verweis auf die neue Textdatei am besten gleich in eine Objektvariable des Typs Textstream ein.

Dies ist übrigens eine interessante Alternative zur Dateinummernvergabe mit der Open-Methode unter VBA – Sie speichern den Verweis hier, etwas zeitgemäßer, in einer entsprechenden Objektvariablen:

Public Sub TextdateiErstellen()
    Dim objFSO As Scripting.FileSystemObject
    Dim objTextstream As Scripting.TextStream
    Set objFSO = New Scripting.FileSystemObject
    Set objTextstream = objFSO.CreateTextFile(
    CurrentProject.Path & "\Text.txt")
    With objTextstream
        .Write "Hallo!"
    End With
End Sub

Das Textstream-Objekt bietet außerdem einige Methoden, mit denen Sie die Textdatei bearbeiten oder auslesen können.

Textdatei öffnen

Bevor Sie eine Textdatei mit den Methoden des FileSystemObject-Objekts auslesen oder bearbeiten können, öffnen Sie diese und holen sich einen Verweis auf die Datei – oder Sie erstellen diese wie oben beschrieben einfach neu.

Zum Öffnen einer Textdatei verwenden Sie die OpenTextFile-Methode. Diese erwartet als ersten Parameter den Namen der Textdatei und als zweiten den Zugriffsmodus, für den es die folgenden drei Werte gibt:

  • ForAppending: Öffnet die Datei und bereitet diese für das Anhängen von Text an den bestehenden Inhalt vor.
  • ForReading: Öffnet die Datei schreibgeschützt zum Einlesen von Text.
  • ForWriting: Öffnet die Datei und leert diese, damit sie neu gefüllt werden kann.

Mit dem dritten Parameter namens Create können Sie festlegen, ob die Datei neu angelegt werden soll, wenn sie noch nicht vorhanden ist.

Stellen Sie Create auf False ein und ist die angegebene Datei nicht vorhanden, löst dies einen Fehler aus. Nach dem Öffnen und Lesen oder Bearbeiten schließen Sie die Datei mit der Close-Methode wieder.

Textdatei mit Text füllen


Nur für Abonnenten

Ab hier wird’s wirklich spannend – der Rest ist exklusiv für Abonnenten.

Mit dem Abo von Access im Unternehmen bekommst du den kompletten Artikel – inklusive vollständigem Code, Beispieldatenbank und Schritt-für-Schritt-Erklärung.

So sparst du dir stundenlanges Herumprobieren, vermeidest teure Fehler in deiner Access-Anwendung und kannst Lösungen direkt in deinem Unternehmen einsetzen, statt nur darüber zu lesen.

Teste Access im Unternehmen jetzt 4 Wochen lang kostenlos: Voller Zugriff auf alle Artikel, Downloads und Beispieldatenbanken. Kein Risiko – wenn es für dich nicht passt, kündigst du einfach innerhalb der ersten vier Wochen.

Bereits Abonnent? Hier einloggen


Kostenlos & unverbindlich

Oder hast Du eine konkrete Frage zu Deiner eigenen Access-Anwendung?

Vielleicht stellt Deine Anwendung Dich vor eine Herausforderung, zu der Du bisher keine Lösung findest. Schlechte Performance, kein ausreichender Zugriffsschutz, Du bist unsicher über Dein Datenmodell oder Dein Code liefert unerklärliche Fehler?

In unserem kostenlosen Access-Audit schaut sich André Minhorst persönlich gemeinsam mit Dir Deine Lösung per Zoom an – und zeigt Dir, wo Datenmodell, VBA-Code, Ergonomie und Sicherheit Optimierungspotenzial bieten.

Jetzt kostenloses Access-Audit anfordern →

Schreibe einen Kommentar