Les data fra en tekstfil ved hjelp av Excel VBA - Enkle Excel -makroer

Innholdsfortegnelse

Nedenfor ser vi på et program i Excel VBA at leser data fra en tekstfil. Denne filen inneholder noen geografiske koordinater vi ønsker å importere til Excel.

Situasjon:

1. Last ned tekstfilen og legg den til i "C: \ test \"

Plasser en kommandoknapp på regnearket og legg til følgende kodelinjer:

2. Vi erklærer fire variabler. myFile av type String, tekst av type String, tekstlinje av type String, posLat av type Heltall og posLong av type Heltall.

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

3. Vi må initialisere variabelen myFile med hele banen og filnavnet.

myFile = "C: \ test \ geografiske-koordinater.txt"

eller

bruk GetOpenFilename -metoden for programobjektet for å vise standard dialogboksen Åpne og velg filen (uten å åpne filen).

myFile = Application.GetOpenFilename ()

Merk: Den tomme delen mellom parentesene betyr at vi ikke gir Excel VBA noe som input. Plasser markøren på GetOpenFilename i Visual Basic Editor og klikk F1 for å få hjelp med argumentene.

4. Legg til følgende kodelinje:

Åpne myFile For Input As #1

Merk: denne uttalelsen gjør at filen kan leses. Vi kan referere til filen som #1 under resten av koden.

5. Legg til følgende kodelinjer:

Gjør inntil EOF (1)
Linjeinngang #1, tekstlinje
tekst = tekst og tekstlinje
Løkke

Merk: til slutten av filen (EOF) leser Excel VBA en enkelt linje fra filen og tilordner den til tekstlinjen. Vi bruker operatøren & til å sammenkoble (sammenføye) alle enkeltlinjene og lagre den i variabelteksten.

6. Lukk filen.

Lukk #1

7. Deretter søker vi etter plasseringen av ordene breddegrad og lengdegrad i variabelteksten. Vi bruker Instr -funksjonen.

posLat = InStr (tekst, "breddegrad")
posLong = InStr (tekst, "lengdegrad")

8. Vi bruker disse posisjonene og Mid -funksjonen til å trekke ut koordinatene fra variabelteksten og skrive koordinatene til celle A1 og celle A2.

Område ("A1"). Verdi = Midt (tekst, posLat + 10, 5)
Område ("A2"). Verdi = Midt (tekst, posLong + 11, 5)

9. Test programmet.

Resultat:

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave