VBA FreeFile - Wie verwende ich die FreeFile-Funktion in Excel VBA?

Inhaltsverzeichnis

Excel VBA FreeFile

FreeFile ist eine Funktion in VBA, die nur als VBA-Funktion und nicht als Arbeitsblattfunktion verfügbar ist. Die VBA FreeFile-Funktion gibt die eindeutige Ganzzahl an die Datei zurück, die geöffnet wird und die nächste verfügbare Dateinummer beibehält.

Normalerweise öffnen wir Dateien von unserem Computer, um entweder etwas zu schreiben oder schreibgeschützt zu sein. Während wir auf diese Dateien verweisen, müssen wir mit einer eindeutigen Ganzzahl verweisen. Mit der VBA FreeFile-Funktion können wir die eindeutige Ganzzahl bestimmen, die dem Öffnen der Datei zum Lesen, Schreiben und Öffnen von Dateien mit VBA zugewiesen werden soll.

Schauen Sie sich nun die Syntax der OPEN-Anweisung an.

OPEN (Dateipfadadresse) Für (Modus zum Öffnen) As (Dateinummer)

Dateipfadadresse : Wir müssen die Dateianschrift auf unserem Computer angeben, die wir öffnen möchten.

Öffnungsmodus : Beim Öffnen der Datei müssen wir wissen, welche Art von Modell wir anwenden werden. Wir können hier drei Möglichkeiten verwenden: "Eingabemodus", "Ausgabemodus" und "Anhänge-Modus".

Eingabemodus, um nur die Datei zu lesen.

Ausgabemodus zum Löschen der vorhandenen Daten und Einfügen neuer Daten.

Append-Modus zum Hinzufügen neuer Daten unter Beibehaltung der vorhandenen Daten.

Dateinummer: Mit diesem Argument können wir auf die Datei verweisen, die wir öffnen. Hier spielt die Funktion „FreeFile“ eine wichtige Rolle und gibt die eindeutige Ganzzahl zurück.

Wie verwende ich die FreeFile-Funktion in Excel VBA?

Schauen Sie sich nun den folgenden Code an.

Code:

Sub FreeFile_Example1 () Dim Path As String Dim FileNumber As Integer Path = "D: Articles 2019 File 1.txt" FileNumber = FreeFile Open Path für die Ausgabe als FileNumber Path = "D: Articles 2019 File 2.txt "FileNumber = FreeFile Open Path für die Ausgabe als FileNumber End Sub

Lassen Sie mich nun den obigen Code dekodieren, damit Sie ihn verstehen.

Zunächst habe ich zwei Variablen deklariert.

Pfad als Zeichenfolge dimmen, Dateinummer als Ganzzahl dimmen

Dann habe ich den Dateipfad mit seinem Namen vergeben.

Pfad = "D: Artikel 2019 Datei 1.txt"

Dann habe ich für die eine weitere Variable die FREEFILE-Funktion zugewiesen.

FileNumber = FreeFile

Dann habe ich die Open-Anweisung verwendet, um die Textdatei in der oben genannten Datei zu öffnen.

Öffnen Sie den Pfad für die Ausgabe als FileNumber

Ok, jetzt werde ich zeilenweise Code ausführen, indem ich die Taste F8 drücke und den Wert der Variablen "FileNumber" sehe.

Die Dateinummer wird als 1 angezeigt. Die freie Dateifunktion reserviert diese Nummer automatisch für die öffnende Datei. Währenddessen werden keine anderen Dateien geöffnet.

Jetzt werde ich die nächste Zeile des VBA-Codes weiter ausführen und sehen, wie die Dateinummer lautet, wenn ich zur nächsten Zeile springe.

Jetzt heißt es 2. Die FreeFile-Funktion reserviert also die eindeutige Ganzzahl 2 für die zweite Eröffnungsdatei.

Die FreeFile-Funktion gibt immer 1 zurück, wenn wir die Excel-Datei schließen.

Eine Sache, die wir uns ansehen müssen, ist, dass die VBA-Funktion „FreeFile“ immer eine zurückgibt, wenn wir die geöffnete Datei schließen, bevor wir die zweite Excel-Datei öffnen.

Schauen Sie sich zum Beispiel den folgenden Code an.

Code:

Sub FreeFile_Example2 () Dim Path As String Dim FileNumber As Integer Path = "D: Articles 2019 File 1.txt" FileNumber = FreeFile Open Path für Ausgabe als FileNumber Close FileNumber Path = "D: Articles 2019 File 2 .txt "FileNumber = FreeFile Open Path für die Ausgabe als FileNumber Close FileNumber End Sub

Jetzt werde ich den Code noch einmal Zeile für Zeile ausführen, indem ich die Taste F8 drücke.

Es heißt 1 wie immer.

Jetzt werde ich zum nächsten Level übergehen.

Auch im zweiten Versuch heißt es 1.

Der Grund dafür ist, dass FreeFile die neu geöffnete Datei als die neue erkennt und die Ganzzahl als 1 zurückgibt, da wir die Anweisung "Datei schließen" verwendet haben.

Interessante Beiträge...