Zemāk mēs apskatīsim programmu Excel VBA ka nolasa datus no teksta faila. Šajā failā ir dažas ģeogrāfiskās koordinātas, kuras vēlamies importēt programmā Excel.
Situācija:
1. Vispirms lejupielādējiet teksta failu un pievienojiet to mapei "C: \ test \"
Ievietojiet komandas pogu savā darblapā un pievienojiet šādas koda rindiņas:
2. Mēs deklarējam četrus mainīgos. myFile tipa virkne, teksta veids virkne, teksta virkne ar virkni, posLat tipa vesels skaitlis un posLong tipa vesels.
Dim myFile kā virkne, teksts kā virkne, teksta līnija kā virkne, posLat kā vesels skaitlis, posLong kā vesels skaitlis
3. Mums jāinicializē mainīgais myFile ar pilnu ceļu un faila nosaukumu.
myFile = "C: \ test \ ģeogrāfiskās koordinātas.txt"
vai
izmantojiet lietojumprogrammas objekta GetOpenFilename metodi, lai parādītu standarta dialoglodziņu Atvērt un atlasiet failu (faktiski neatverot failu).
myFile = Application.GetOpenFilename ()
Piezīme: tukšā daļa starp iekavām nozīmē, ka mēs Excel VBA neko nedodam kā ievadi. Novietojiet kursoru uz GetOpenFilename Visual Basic redaktorā un noklikšķiniet uz F1, lai saņemtu palīdzību par argumentiem.
4. Pievienojiet šādu koda rindiņu:
Atveriet myFile ievadīšanai kā #1
Piezīme: šis paziņojums ļauj failu nolasīt. Pārējā koda laikā mēs varam atsaukties uz failu kā Nr.
5. Pievienojiet šādas koda rindiņas:
Darīt līdz EOF (1)
Līnijas ievade #1, teksta līnija
text = text & textline
Cilpa
Piezīme: līdz faila (EOF) beigām Excel VBA nolasa vienu rindiņu no faila un piešķir to teksta līnijai. Mēs izmantojam & operatoru, lai savienotu (savienotu) visas atsevišķās rindas un saglabātu to mainīgajā tekstā.
6. Aizveriet failu.
Aizvērt #1
7. Tālāk mainīgo tekstā meklējam vārdu platuma un garuma pozīciju. Mēs izmantojam funkciju Instr.
posLat = InStr (teksts, "platums")
posLong = InStr (teksts, "garums")
8. Mēs izmantojam šīs pozīcijas un funkciju Mid, lai no mainīgā teksta iegūtu koordinātas un ierakstītu koordinātas šūnā A1 un šūnā A2.
Diapazons ("A1"). Vērtība = vidēja (teksts, posLat + 10, 5)
Diapazons ("A2"). Vērtība = vidēja (teksts, posLong + 11, 5)
9. Pārbaudiet programmu.
Rezultāts: