- Open Notes - http://opennotes.ru -

Сохранение данных из таблицы Excel в текстовый файл при помощи VBA

Задача: скопировать заданную область из таблицы Excel в текстовый файл. Данные из столбцов должны разделяться знаками табуляции, данные из строк — находиться в отдельных строках.

Есть несколько способов решения данной задачи. Ниже приведён VBA код трёх вариантов.

Open ActiveWorkbook.Path & “\текстовый файл.txt” For Output As #1
bText = “Заголовок1" & vbTab & "Заголовок2" & vbTab & "Заголовок3”
 Print #1, bText
 For Each c In ActiveSheet.UsedRange
  Print #1, c.Address(0, 0), c.Value
 Next
Close #1

Для копирования в текстовый файл в формат Unicode:

Dim buffer As String
Open "C:\Unicode.txt" For Binary As #1
 buffer = StrConv(strText2Write, vbUnicode) + _
  StrConv(vbCrLf, vbUnicode)
 Put #1, , buffer
Close #1

Ещё более простой способ сохранения в текстовый файл в юникоде:

path = "C:\"
ActiveWorkbook.SaveAs Filename:=path & "\Имя_файла.txt", _
 FileFormat:=xlUnicodeText
ActiveWorkbook.Close True

Ещё варианты:

Order_macros