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

Съдържание

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

Ситуация:

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: \ test \ geografske-координати.txt"

или

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

myFile = Application.GetOpenFilename ()

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

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

Отворете myFile за въвеждане като #1

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

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

Направете до EOF (1)
Линеен вход #1, текстов ред
текст = текст & текстов ред
Цикъл

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

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

Затворете #1

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

posLat = InStr (текст, "географска ширина")
posLong = InStr (текст, "дължина")

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

Диапазон ("A1"). Стойност = средна (текст, posLat + 10, 5)
Диапазон ("A2"). Стойност = средна (текст, posLong + 11, 5)

9. Тествайте програмата.

Резултат:

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave