Leggi i dati da un file di testo usando Excel VBA
Di seguito vedremo un programma in Excel VBA quello legge i dati da un file di testo. Questo file contiene alcune coordinate geografiche che vogliamo importare in Excel.
Situazione:
1. Per prima cosa, scarica il file di testo e aggiungilo a "C: test"
Inserire un pulsante di comando nel foglio di lavoro e aggiungere le seguenti linee di codice:
2. Dichiariamo quattro variabili. myFile di tipo String, testo di tipo String, textline di tipo String, posLat di tipo Integer e posLong di tipo Integer.
3. Abbiamo bisogno di inizializzare la variabile myFile con il percorso completo e il nome del file.
o
utilizzare il metodo GetOpenFilename dell'oggetto Application per visualizzare la finestra di dialogo standard aperta e selezionare il file (senza aprire effettivamente il file).
Nota: la parte vuota tra parentesi significa che non forniamo nulla come VBA di Excel. Posizionare il cursore su GetOpenFilename nel Visual Basic Editor e fare clic su F1 per la guida sugli argomenti.
4. Aggiungi la seguente riga di codice:
Nota: questa istruzione consente di leggere il file. Possiamo riferirci al file come numero 1 durante il resto del nostro codice.
5. Aggiungi le seguenti linee di codice:
Line Input #1, textline
text = text & textline
Loop
Nota: fino alla fine del file (EOF), Excel VBA legge una singola riga dal file e la assegna a testo. Usiamo l'operatore & per concatenare (unire) tutte le singole linee e memorizzarle nel testo variabile.
6. Chiudi il file.
7. Successivamente, cerchiamo la posizione delle parole latitudine e longitudine nel testo variabile. Usiamo la funzione Instr.
posLong = InStr(text, "longitude")
8. Usiamo queste posizioni e la funzione Mid per estrarre le coordinate dal testo variabile e scrivere le coordinate sulla cella A1 e sulla cella A2.
Range("A2").Value = Mid(text, posLong + 11, 5)
9. Testare il programma.
Risultato: