Lasiet datus no teksta faila, izmantojot Excel VBA - Easy Excel makro

Satura rādītājs

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:

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave