Ниже мы рассмотрим программу на 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 \ географические координаты.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"). Значение = Mid (текст, posLat + 10, 5)
Диапазон ("A2"). Значение = Mid (текст, posLong + 11, 5)
9. Протестируйте программу.
Результат: