Čtení dat z textového souboru pomocí aplikace Excel VBA - snadná makra aplikace Excel

Obsah

Níže se podíváme na program v Excel VBA že čte data z textového souboru. Tento soubor obsahuje některé zeměpisné souřadnice, které chceme importovat do Excelu.

Situace:

1. Nejprve si stáhněte textový soubor a přidejte jej do „C: \ test \“

Umístěte na list příkazové tlačítko a přidejte následující řádky kódu:

2. Deklarujeme čtyři proměnné. myFile typu String, text typu String, textový řádek typu String, posLat typu Integer a posLong typu Integer.

Dim myFile As String, text As String, textline As String, posLat As Integer, posLong As Integer

3. Potřebujeme inicializovat proměnnou myFile s úplnou cestou a názvem souboru.

myFile = "C: \ test \ Geographic Coordinates.txt"

nebo

použijte metodu GetOpenFilename objektu Application k zobrazení standardního dialogového okna Otevřít a vyberte soubor (bez skutečného otevření souboru).

myFile = Application.GetOpenFilename ()

Poznámka: prázdná část mezi závorkami znamená, že Excelu VBA nedáme nic jako vstup. Umístěte kurzor na GetOpenFilename v editoru jazyka a klikněte na F1 pro pomoc s argumenty.

4. Přidejte následující řádek kódu:

Otevřete myFile pro vstup jako #1

Poznámka: toto prohlášení umožňuje čtení souboru. Po zbytek našeho kódu můžeme soubor označit jako #1.

5. Přidejte následující řádky kódu:

Do Do EOF (1)
Řádkový vstup č. 1, textový řádek
text = text & textový řádek
Smyčka

Poznámka: až do konce souboru (EOF), Excel VBA přečte jeden řádek ze souboru a přiřadí jej k textovému řádku. Pomocí operátoru & spojíme (spojíme) všechny jednotlivé řádky a uložíme je do proměnného textu.

6. Zavřete soubor.

Zavřít #1

7. Dále v proměnném textu hledáme polohu slov zeměpisná šířka a délka. Používáme funkci Instr.

posLat = InStr (text, "zeměpisná šířka")
posLong = InStr (text, "zeměpisná délka")

8. Tyto polohy a funkci Mid používáme k extrahování souřadnic z textu proměnné a zápisu souřadnic do buňky A1 a buňky A2.

Rozsah ("A1"). Hodnota = střední (text, posLat + 10, 5)
Rozsah ("A2"). Hodnota = střední (text, posLong + 11, 5)

9. Otestujte program.

Výsledek:

Vám pomůže rozvoji místa, sdílet stránku s přáteli

wave wave wave wave wave