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 a komentopainiketta laskentataulukkoon ja lisää seuraavat koodirivit:
2. Ilmoitamme neljä muuttujaa. myFile tyyppi String, tyyppi tyyppi String, textline tyyppi String, posLat tyyppi Integer ja posLong tyyppi Integer.
kuinka lasketaan Excelin prosentuaalinen muutos vuosi vuodeltaEi mitäänmyFileKuten Jousisoitin, tekstiäKuten Jousisoitin, tekstiriviKuten Jousisoitin, posLatKuten Kokonaisluku, pitkäänKuten Kokonaisluku
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:
AvatamyFileVarten Syöttö Kuten#1Huomautus: tämä lausunto mahdollistaa tiedoston lukemisen. Voimme viitata tiedostoon numerolla 1 koodin loppuosan aikana.
5. Lisää seuraavat koodirivit:
Tehdä Siihen asti kunEOF (1)Linja Syöttö#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.
kiinni#17. Seuraavaksi etsimme sanojen leveys- ja pituusaste sijaintia muuttujan tekstistä. Käytämme Instr -toiminto .
posLat = InStr (teksti, 'leveysaste')posLong = InStr (teksti, 'pituusaste')
8. Käytämme näitä kantoja ja Keskitoiminto poimia koordinaatit muuttujan tekstistä ja kirjoittaa koordinaatit soluihin A1 ja soluihin A2.
Alue ('A1'). Arvo = Keskitaso (teksti, posLat + 10, 5)Alue ('A2'). Arvo = Keskitaso (teksti, posLong + 11, 5)
9. Testaa ohjelma.
Tulos:
Siirry seuraavaan lukuun: ActiveX -komponentit