Čitanje podataka iz tekstualne datoteke pomoću programa Excel VBA - Jednostavne makroe Excel

Sadržaj

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:

Vi ćete pomoći u razvoju web stranice, dijeljenje stranicu sa svojim prijateljima

wave wave wave wave wave