Макрос сохраняет диапазон в текст. Но там внутри макроса - какой-то кодировщик есть, и он как-то непонятно кодирует txt файл, что тот становится невидим для других скриптов. Они почему-то перестают его считать текстовым файлом. Тот txt файл, что есть - он в кодировке UTF-8, и макрос тоже вроде бы кодирует данные в UTF-8, но что-то видимо неправильно он делает - если скрипты перестают txt файл воспринимать как txt.
Подскажите - как сохранить диапазон в txt - без помощи кодировщика в utf8 ?
Добрый день. Помогите поправить макрос.
Макрос сохраняет диапазон в текст. Но там внутри макроса - какой-то кодировщик есть, и он как-то непонятно кодирует txt файл, что тот становится невидим для других скриптов. Они почему-то перестают его считать текстовым файлом. Тот txt файл, что есть - он в кодировке UTF-8, и макрос тоже вроде бы кодирует данные в UTF-8, но что-то видимо неправильно он делает - если скрипты перестают txt файл воспринимать как txt.
Подскажите - как сохранить диапазон в txt - без помощи кодировщика в utf8 ?bazanski
bazanski, добрый Макрос правильно работает, выходной файл в кодировке utf. Если она не нужна уберите в этой строке File = EncodeUTF8noBOM(Tp1(i, 1)) EncodeUTF8noBOM
bazanski, добрый Макрос правильно работает, выходной файл в кодировке utf. Если она не нужна уберите в этой строке File = EncodeUTF8noBOM(Tp1(i, 1)) EncodeUTF8noBOMbigor
не соглашусь, этот код пишет файлик, в excel даже скорее всего будет не utf кодировка [vba]
Код
Sub CreateCSV1() Dim Rg1 As Range, DF1 As Byte, File$, Tp1, Ki&, i& 'File = ThisWorkbook.Path & "\" & Range("A5") File = "/home/bigor/test/" & Range("A5") Set Rg1 = ThisWorkbook.Worksheets("Лист1").Range("D17") Set Rg1 = Range(Rg1, Cells(Rg1.Parent.Rows.Count, Rg1.Column).End(xlUp)) Tp1 = Rg1.Value: Ki = Rg1.Rows.Count DF1 = FreeFile: Open File For Output As #DF1 For i = 1 To Ki File = (Tp1(i, 1)) Print #DF1, File Next i: Close End Sub
не соглашусь, этот код пишет файлик, в excel даже скорее всего будет не utf кодировка [vba]
Код
Sub CreateCSV1() Dim Rg1 As Range, DF1 As Byte, File$, Tp1, Ki&, i& 'File = ThisWorkbook.Path & "\" & Range("A5") File = "/home/bigor/test/" & Range("A5") Set Rg1 = ThisWorkbook.Worksheets("Лист1").Range("D17") Set Rg1 = Range(Rg1, Cells(Rg1.Parent.Rows.Count, Rg1.Column).End(xlUp)) Tp1 = Rg1.Value: Ki = Rg1.Rows.Count DF1 = FreeFile: Open File For Output As #DF1 For i = 1 To Ki File = (Tp1(i, 1)) Print #DF1, File Next i: Close End Sub