Lesen Sie Daten aus einer Textdatei mit Excel VBA
Unten sehen wir uns ein Programm in Excel VBA Das liest Daten aus einer Textdatei. Diese Datei enthält einige geografische Koordinaten, die wir in Excel importieren möchten.
Situation:
1. Laden Sie zuerst die Textdatei herunter und fügen Sie sie zu "C: test" hinzu.
Fügen Sie eine Befehlsschaltfläche in Ihrem Arbeitsblatt ein, und fügen Sie die folgenden Codezeilen hinzu:
2. Wir deklarieren vier Variablen. myFile vom Typ String, Text vom Typ String, textline vom Typ String, posLat vom Typ Integer und posLong vom Typ Integer.
3. Wir müssen die Variable myFile mit dem vollständigen Pfad und dem Dateinamen initialisieren.
oder
Verwenden Sie die GetOpenFilename-Methode des Application-Objekts, um das Standarddialogfeld Öffnen anzuzeigen, und wählen Sie die Datei aus (ohne die Datei tatsächlich zu öffnen).
Hinweis: Der leere Teil zwischen den Klammern bedeutet, dass wir Excel VBA nichts als Eingabe geben. Platzieren Sie den Cursor auf GetOpenFilename im Visual Basic-Editor und klicken Sie auf F1, um Hilfe zu den Argumenten zu erhalten.
4. Fügen Sie die folgende Codezeile hinzu:
Hinweis: Diese Anweisung ermöglicht das Lesen der Datei. Wir können die Datei während des restlichen Codes als # 1 bezeichnen.
5. Fügen Sie die folgenden Codezeilen hinzu:
Line Input #1, textline
text = text & textline
Loop
Hinweis: Bis zum Ende der Datei (EOF) liest Excel VBA eine einzelne Zeile aus der Datei und weist sie der Textzeile zu. Wir verwenden den Operator & zum Verketten (Verbinden) aller einzelnen Zeilen und Speichern dieser im variablen Text.
6. Schließen Sie die Datei.
7. Als nächstes suchen wir nach der Position der Wörter Breite und Länge im variablen Text. Wir benutzen die Instr-Funktion.
posLong = InStr(text, "longitude")
8. Wir verwenden diese Positionen und die Mid-Funktion, um die Koordinaten aus dem variablen Text zu extrahieren und die Koordinaten in Zelle A1 und Zelle A2 zu schreiben.
Range("A2").Value = Mid(text, posLong + 11, 5)
9. Testen Sie das Programm.
Ergebnis: