Читання даних із текстового файлу за допомогою 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-koordinate.txt"

або

використовуйте метод GetOpenFilename об'єкта Application для відображення стандартного діалогового вікна "Відкрити" та вибору файлу (без фактичного відкриття файлу).

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