Les data fra en tekstfil ved hjelp av Excel VBA
Nedenfor ser vi på et program i Excel VBA at leser data fra en tekstfil. Denne filen inneholder noen geografiske koordinater vi vil importere til Excel.
Situasjon:
1. Først last ned tekstfilen og legg den til "C: test"
Legg en kommandoknapp på regnearket og legg til følgende kodelinjer:
2. Vi erklærer fire variabler. myFile of Type String, tekst av type String, tekstlinje av type String, posLat av type Integer, og posLong av type Integer.
3. Vi må initialisere variabelen myFile med hele banen og filnavnet.
eller
bruk GetOpenFilename-metoden i Applikasjonsobjektet for å vise standard åpen dialogboksen og velg filen (uten å åpne filen).
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 til argumentene.
4. Legg til følgende kodelinje:
Merk: Denne setningen tillater filen å bli lest. Vi kan referere til filen som # 1 under resten av koden vår.
5. Legg til følgende kodelinjer:
Line Input #1, textline
text = text & textline
Loop
Merk: Til slutten av filen (EOF), leser Excel VBA en enkelt linje fra filen og tilordner den til tekstlinje. Vi bruker & operatøren til å sammenkoble (delta) alle enkeltlinjer og lagre den i variabelteksten.
6. Lukk filen.
7. Deretter søker vi etter plasseringen av ordene breddegrad og lengdegrad i variabelteksten. Vi bruker Instr-funksjonen.
posLong = InStr(text, "longitude")
8. Vi bruker disse posisjonene og Mid-funksjonen til å trekke ut koordinatene fra den variable teksten og skrive koordinatene til celle A1 og celle A2.
Range("A2").Value = Mid(text, posLong + 11, 5)
9. Test programmet.
Resultat: