/ / Четене на данни от текстов файл с помощта на Excel VBA

Четете данни от текстов файл, като използвате Excel VBA

По - долу ще разгледаме програма в Excel VBA че чете данни от текстов файл, Този файл съдържа някои географски координати, които искаме да импортираме в Excel.

Ситуация:

Прочетете данни от текстов файл, като използвате Excel VBA

1. Първо изтеглете текстовия файл и го добавете в "C: test"

Поставете командния бутон на работния лист и добавете следните кодови редове:

2. Декларираме четири променливи. myFile от тип String, текст от тип String, текст от тип String, posLat от тип Integer и posLong от тип Integer.

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

3. Трябва да инициализираме променливата myFile с пълния път и името на файла.

myFile = "C:testgeographical-coordinates.txt"

или

използвайте метода GetOpenFilename на обекта на приложението, за да видите стандартния отворен диалогов прозорец и изберете файла (без всъщност да отваряте файла).

myFile = Application.GetOpenFilename()

Забележка: празната част между скобите означава, че не даваме на Excel VBA нищо като вход. Поставете курсора на GetOpenFilename в редактора на Visual Basic и щракнете върху F1 за помощ по аргументите.

4. Добавете следния ред на кода:

Open myFile For Input As #1

Забележка: това изявление позволява четенето на файла. Можем да се позовем на файла като # 1 по време на останалата част от нашия код.

5. Добавете следните кодови редове:

Do Until EOF(1)
    Line Input #1, textline
    text = text & textline
Loop

Забележка: до края на файла (EOF), Excel VBA чете един ред от файла и го присвоява на текстова линия. Използваме оператора &, за да обединим всички единични линии и да ги съхраним в променливия текст.

6. Затворете файла.

Close #1

7. След това търсим позицията на думите географска ширина и дължина в променливия текст. Използваме функцията Instr.

posLat = InStr(text, "latitude")
posLong = InStr(text, "longitude")

8. Използваме тези позиции и функцията Mid, за да извлечем координатите от променливия текст и да напишем координатите в клетка А1 и клетка А2.

Range("A1").Value = Mid(text, posLat + 10, 5)
Range("A2").Value = Mid(text, posLong + 11, 5)

9. Изпробвайте програмата.

Резултат:

Четене на данни от резултат на текстов файл

Също така се чете: