U nastavku ćemo pogledati program u Excel VBA da čita podatke iz tekstualne datoteke. Ova datoteka sadrži neke zemljopisne koordinate koje želimo uvesti u Excel.
Situacija:
1. Prvo preuzmite tekstualnu datoteku i dodajte je u "C: \ test \"
Postavite naredbeni gumb na radni list i dodajte sljedeće retke koda:
2. Deklariramo četiri varijable. myFile tipa String, tekst tipa String, tekstualni red tipa String, posLat tipa Integer i posLong tipa Integer.
Dim myFile As String, text As String, textline As String, posLat As Integer, posLong As Integer
3. Moramo inicijalizirati varijablu myFile s punom stazom i nazivom datoteke.
myFile = "C: \ test \ geografske koordinate.txt"
ili
koristite metodu GetOpenFilename objekta Application za prikaz standardnog dijaloškog okvira Otvori i odaberite datoteku (bez otvaranja datoteke).
myFile = Application.GetOpenFilename ()
Napomena: prazan dio između zagrada znači da Excel VBA ne dajemo ništa kao ulaz. Postavite pokazivač na GetOpenFilename u uređivaču programa Visual Basic i kliknite F1 za pomoć u argumentima.
4. Dodajte sljedeći kodni redak:
Otvorite myFile za unos kao #1
Napomena: ova izjava dopušta čitanje datoteke. Datoteku možemo označiti kao #1 tijekom ostatka našeg koda.
5. Dodajte sljedeće retke koda:
Učiniti do EOF -a (1)
Linijski ulaz #1, tekstualni redak
text = tekst & tekstna linija
Petlja
Napomena: do kraja datoteke (EOF), Excel VBA čita jedan redak iz datoteke i dodjeljuje ga tekstualnom retku. Operator & koristimo za spajanje (spajanje) svih pojedinačnih redaka i pohranjivanje u promjenjivi tekst.
6. Zatvorite datoteku.
Zatvori #1
7. Zatim tražimo položaj riječi zemljopisna širina i dužina u tekstu varijable. Koristimo funkciju Instr.
posLat = InStr (tekst, "zemljopisna širina")
posLong = InStr (tekst, "zemljopisna dužina")
8. Ove položaje i funkciju Mid koristimo za izdvajanje koordinata iz teksta varijable i upis koordinata u ćeliju A1 i ćeliju A2.
Raspon ("A1"). Vrijednost = sredina (tekst, posLat + 10, 5)
Raspon ("A2"). Vrijednost = sredina (tekst, posLong + 11, 5)
9. Testirajte program.
Proizlaziti: