Публикации
Публикации  »  VBA, Excel

Как прочитать текстовый файл в VBA

В нынешнее время использование текстовых файлов для обмена данными или хранения данных становится редкостью, но тем не менее, все еще встречается. Приведу два варианта чтения текстового файла из VBA. Каждый способ может быть полезен в своей ситуации.

Способ 1. Открытие (чтение) текстового файла целиком

Можно открыть текстовый файл без учета каких-либо разделителей, сплошным текстом:

Set objExcel = New Excel.Application
Set wb = objExcel.Workbooks.Open("имя_файла")

либо, если используются разделители колонок, можно их задействовать:

Открытие текстового файла с разделителем Tab:

Set objExcel = New Excel.Application
Set wb = objExcel.Workbooks
wb.OpenText Filename:="имя_файла", DataType:=xlDelimited, Tab:=True

Открытие текстового файла с разделителем ; (точка с запятой):

Set objExcel = New Excel.Application
Set wb = objExcel.Workbooks
wb.OpenText Filename:="имя_файла", DataType:=xlDelimited, Other:=True, OtherChar:=";"

В параметрах можно так же добавить Origin:=xlMSDOS, если текстовый файл в DOS-кодировке.

После открытия файла, его можно пройти как обычные ячейки Excel-кого листа.

Способ 2. Чтение текстового файла построчно

Здесь используется классический вариант чтения как в большинстве языков программирования: открытие файла, цикл чтения построчно, закрытие файла.

f = FreeFile
Open "имя_файла" For Input As #f
Do While Not EOF(f)
  Line Input #f, s
  ' что-нибудь делаем с полученной строкой s
Loop
Close f

В первой строке определяем число, представляющее следующий номер файла, доступный для использования оператором Open. Затем открываем файл, после чего делаем цикл в котором происходит построчное чтение.

Категория: VBA, Excel

Комментарии к статье:

25.10.18   Гость отлично!

Добавить комментарий: