Вітаю! Сьогодні ми поговоримо про файлах, а точніше, як отримувати інформацію з текстових файлів в VBA. І будемо підвищувати ваше вміння програмувати, як зазвичай, на прикладі.
У звичайному текстовому файлі містяться рядки:
Вітаємо Вас на сайті CodeTown.ru
тут Ви знайдете багато цікавих
прикладів на різні теми
і на різних мовах.
Насолоджуйтесь =)
Необхідно вивести їх на лист в Excel, щоб кожне слово знаходилося в свого осередку з урахуванням пробілів.
Якщо ви читали попередні статті, то в курсі про обробнику помилок On Error GoTo. Потім, Open «C: \ Users \ ....... \ Vba \ files \ file.txt» For Input As # 1 - так прописуємо шлях до файлу і тут повинен бути прописаний саме! Ваш шлях !. до якого звертаємося і даємо цього файлу символічний номер 1.
Далі, вже в циклі, виводимо через підрядник за допомогою Input в наш масив рядків s. Також нагадаю, що ReDim Preserve - команда перерозподілу масиву із збереженням в ньому даних.
Ах да, в цій частині коду ми просто циклічно читаємо файл і заповнюємо рядками масив s.
Як бачите, програма невелика. У цьому шматку ми працюємо з масивом рядків, який отримали на початку, і розкладаємо кожне слово по поличках. Запускаємо цикл For для проходження по всім записаним рядках, а While - по символам всередині рядків. Ми відрізаємо від рядка «слова» до пропуску і записуємо у відповідні комірки.
Обов'язково закривайте файл командою Close # 1 після роботи над ним.
Окремо відзначу рядок If Err.Number = 62 Then Resume 1. При читанні файлу, коли компілятор дійде до кінця, то випаде помилка, чий номер якраз і дорівнює 62. Тобто, за допомогою цієї помилки ми виходимо з читання файлу на початку всього коду.
Якщо Вам якісь команди залишилися не ясні, раджу почитати попередні статті, там ви знайдете приклади на роботу з ними.