Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Макрос неправильно кодирует txt файл при сохранении - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Макрос неправильно кодирует txt файл при сохранении
bazanski Дата: Четверг, 07.12.2023, 08:24 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Добрый день. Помогите поправить макрос.

Макрос сохраняет диапазон в текст.
Но там внутри макроса - какой-то кодировщик есть, и он как-то непонятно кодирует txt файл, что тот становится невидим для других скриптов.
Они почему-то перестают его считать текстовым файлом.
Тот txt файл, что есть - он в кодировке UTF-8, и макрос тоже вроде бы кодирует данные в UTF-8, но что-то видимо неправильно он делает - если скрипты перестают txt файл воспринимать как txt.

Подскажите - как сохранить диапазон в txt - без помощи кодировщика в utf8 ?
К сообщению приложен файл: fajl.rar (16.7 Kb)
 
Ответить
СообщениеДобрый день. Помогите поправить макрос.

Макрос сохраняет диапазон в текст.
Но там внутри макроса - какой-то кодировщик есть, и он как-то непонятно кодирует txt файл, что тот становится невидим для других скриптов.
Они почему-то перестают его считать текстовым файлом.
Тот txt файл, что есть - он в кодировке UTF-8, и макрос тоже вроде бы кодирует данные в UTF-8, но что-то видимо неправильно он делает - если скрипты перестают txt файл воспринимать как txt.

Подскажите - как сохранить диапазон в txt - без помощи кодировщика в utf8 ?

Автор - bazanski
Дата добавления - 07.12.2023 в 08:24
bigor Дата: Четверг, 07.12.2023, 10:07 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 1157
Репутация: 221 ±
Замечаний: 0% ±

нет
bazanski, добрый
Макрос правильно работает, выходной файл в кодировке utf. Если она не нужна уберите в этой строке
File = EncodeUTF8noBOM(Tp1(i, 1)) EncodeUTF8noBOM
 
Ответить
Сообщениеbazanski, добрый
Макрос правильно работает, выходной файл в кодировке utf. Если она не нужна уберите в этой строке
File = EncodeUTF8noBOM(Tp1(i, 1)) EncodeUTF8noBOM

Автор - bigor
Дата добавления - 07.12.2023 в 10:07
bazanski Дата: Четверг, 07.12.2023, 18:55 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
bigor, спрасибо.

Не работает.
Теперь макрос - записывает в файл txt не текст, а просто пустое место.
Файл по-прежнему пустой, но весит не 0, а 46 байтов
 
Ответить
Сообщениеbigor, спрасибо.

Не работает.
Теперь макрос - записывает в файл txt не текст, а просто пустое место.
Файл по-прежнему пустой, но весит не 0, а 46 байтов

Автор - bazanski
Дата добавления - 07.12.2023 в 18:55
bigor Дата: Четверг, 07.12.2023, 21:07 | Сообщение № 4
Группа: Проверенные
Ранг: Старожил
Сообщений: 1157
Репутация: 221 ±
Замечаний: 0% ±

нет
bazanski,
Не работает.
не соглашусь, этот код пишет файлик, в 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
[/vba]


Сообщение отредактировал bigor - Четверг, 07.12.2023, 21:07
 
Ответить
Сообщениеbazanski,
Не работает.
не соглашусь, этот код пишет файлик, в 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
[/vba]

Автор - bigor
Дата добавления - 07.12.2023 в 21:07
bazanski Дата: Четверг, 07.12.2023, 22:26 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
bigor, спасибо за ответ
 
Ответить
Сообщениеbigor, спасибо за ответ

Автор - bazanski
Дата добавления - 07.12.2023 в 22:26
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!