Lue tietoja tekstitiedostosta Excel VBA: n avulla - Easy Excel -makrot

Sisällysluettelo

Alla tarkastelemme ohjelmaa Excel VBA että lukee tietoja tekstitiedostosta. Tämä tiedosto sisältää joitain maantieteellisiä koordinaatteja, jotka haluamme tuoda Exceliin.

Tilanne:

1. Lataa ensin tekstitiedosto ja lisää se kohtaan "C: \ test \"

Aseta komentopainike laskentataulukkoosi ja lisää seuraavat koodirivit:

2. Ilmoitamme neljä muuttujaa. myFile tyyppi String, tyyppi tyyppi String, textline tyyppi String, posLat tyyppi Integer ja posLong tyyppi Integer.

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

3. Meidän on alustettava muuttujan myFile koko polku ja tiedostonimi.

myFile = "C: \ testi \ maantieteelliset koordinaatit.txt"

tai

käytä Sovellus -objektin GetOpenFilename -menetelmää avataksesi vakio Avaa -valintaikkunan ja valitse tiedosto (avaamatta itse tiedostoa).

myFile = Application.GetOpenFilename ()

Huomautus: hakasulkeiden välinen tyhjä osa tarkoittaa, että annamme Excel VBA: ksi mitään syötteeksi. Vie kohdistin Visual Basic Editorin GetOpenFilename -kohtaan ja saat apua argumentteihin napsauttamalla F1.

4. Lisää seuraava koodirivi:

Avaa myFile for Input #1

Huomautus: tämä lauseke sallii tiedoston lukemisen. Voimme viitata tiedostoon #1 koodin loppuosan aikana.

5. Lisää seuraavat koodirivit:

Tee kunnes EOF (1)
Rivitulo 1, tekstirivi
teksti = teksti ja tekstirivi
Silmukka

Huomaa: tiedoston loppuun asti (EOF) Excel VBA lukee yhden rivin tiedostosta ja määrittää sen tekstiriville. Käytämme & -operaattoria yhdistämään (yhdistämään) kaikki yksittäiset rivit ja tallentamaan ne muuttuvaan tekstiin.

6. Sulje tiedosto.

Sulje #1

7. Seuraavaksi etsimme sanojen leveys- ja pituusaste sijaintia muuttujan tekstistä. Käytämme Instr -toimintoa.

posLat = InStr (teksti, "leveysaste")
posLong = InStr (teksti, "pituusaste")

8. Käytämme näitä paikkoja ja Keskitoimintoa koordinaattien poimimiseen muuttujan tekstistä ja kirjoitamme koordinaatit soluihin A1 ja A2.

Alue ("A1"). Arvo = Keskitaso (teksti, posLat + 10, 5)
Alue ("A2"). Arvo = Keskitaso (teksti, posLong + 11, 5)

9. Testaa ohjelma.

Tulos:

Tulet auttaa kehittämään sivuston jakaminen sivu ystävillesi

wave wave wave wave wave