Страницы: 1
RSS
Экспортировать данные из Эксель в markdown-файлы
 
Здравствуйте, уважаемые эксперты!
Мне необходимо из двух столбцов в экселевском файле (офис 2016 проф плюс) сформировать массив Markdown файлов (.md), чтоб их мог прочесть Обсидиан (прога для ведения базы заметок).
Макрос нашел в теме на форуме - немного скорректировал и он почти подошёл под мою задачу. Затруднение у меня вызвало то, что содержимое файлов в формате ".md" считывается Обсидианом некорректно - в неопределенные символы.
Суть:
1. Если переношу созданные макросом фалы в хранилище Обсидиан - он видит файлы, но содержимое воспроизводит нечитаемо. Символы выглядят типа ��� �� �� 31 ������� 2021 �.
2. Если я меняю путь к хранилищу заметок на папку, в которой хранятся созданные макросом файлы ("...\downloads"), то Обсидиан их не видит вовсе.
3. Если открываю созданные макросом файлы и вручную переношу их содержимое в существующие Markdown файлы, то Обсидиан их считывает адекватно.

Подскажите, пожалуйста, как это поправить - сделать так чтобы созданные макросом файлы считывались верно?

P.S. Я пока размышляю о том, чтобы положить в папку пустой, но рабочий маркдаун-файл (образец), а затем для каждой будущей заметки скопировать его, переименовать (именем копируемой заметки) и скопировать в него содержимое созданных макросом файлов....... Но это выглядит громоздко, сомнительно и, полагаю, вы можете посоветовать более изящное решение.
Изменено: MaksExcel - 20.01.2022 14:57:24 (добавил файл с макросом)
 
Цитата
MaksExcel написал:
но содержимое воспроизводит нечитаемо
я думаю дело в кодировке, он (обсидиан) скорее всего хочет utf
 
Спасибо, за совет! Надеюсь, это решит мой вопрос. Подскажите, пожалуйста, как принудительно эту кодировку включить через макрос (если это возможно так сделать)?
 
Посмотрите у Игоря на сайте.
Владимир
 
Спасибо, за ответы. Я попытался обобщить приведенный ранее макрос и предложенную функцию, но, очевидно, я неверно её применяю, т.к. получаю в файле False, вместо текста в UTF-8.
Подскажите, пожалуйста, как всё-таки добиться вписывания в конечный файл текста в нужной кодировке?
(может пример использования SaveTextToFile(ByVal txt$, ByVal filename$, Optional ByVal encoding$ = windows-1251) )
 
Замените
Код
strUTFMesTest = SaveTextToFile(ByVal txt$, sNewFileName = "D:\Excel to md UTF\Новый файл1.md", "UTF-8")
на
Код
strUTFMesTest = SaveTextToFile(sMesTest, "D:\Excel to md UTF\Новый файл1.md", "UTF-8")
Изменено: doober - 28.01.2022 01:09:07
 
doober, спасибо за ответ! Теперь всё, вроде бы, читается как надо!
Изменено: MaksExcel - 28.01.2022 19:53:42
 
Цитата
написал:
doober , спасибо за ответ! Теперь всё, вроде бы, читается как надо!
Добрый день! Скачал из последнего сообщения, но не работает, помогите. пжл
 
SERGEJ64 Для того чтобы помочь надо понять, что вы хотите
 
Цитата
написал:
SERGEJ64  Для того чтобы помочь надо понять, что вы хотите
Коротко - есть файл, в первой колонке - Название заметки, во второй - ее содержание. Нужно на основе этих данных создать файлы .md. У которых название будет = Колонке 1, а содержание файла - колонка 2. UFT-8
Изменено: SERGEJ64 - 19.11.2023 20:49:35
 
SERGEJ64 Там видимо ошибка возникает из - за пути прописанного там, Я с FSO не работал надо справку читать, и файлы md не видел. Добавьте файл md в предыдущее сообщение,
 
Цитата
написал:
SERGEJ64  Там видимо ошибка возникает из - за пути прописанного там, Я с FSO не работал надо справку читать, и файлы md не видел. Добавьте файл md в предыдущее сообщение,
Путь я менял и даже файлы создавались. Вот один из примеров (кодировка не верная)

МД вложить не получается
Изменено: SERGEJ64 - 19.11.2023 21:08:26
 
SERGEJ64 Этот пример из сообщения 6 наверно был немного под другую задачу. Не могу пока понять. Сначала FSO потом два раза открывают файл в режиме прямого доступа. В принципе с перекодировкой все правильно написано. Функция должна быть рабочая. Я просто не знаю, что такое md файл. Если это текстовый файл с другим расширением, то для вашей задачи  надо немного не так.
 
Цитата
написал:
Я просто не знаю, что такое md файл.
Файл в формате markdown. Да, текстовый
 
Цитата
написал:
Этот пример из сообщения 6 наверно был немного под другую задачу.
Мне он тоже вполне подходил. Помимо смены пути и каталога что нужно сделать, чтоб отработало?
 
Держите
Скрытый текст
Изменено: doober - 19.11.2023 23:54:05
 
Цитата
написал:
Скрытый текст
Добрый день! На тот момент уже был не в сети. Вставил макрос, но название файлов взялось из содержания, а содержание внутри файла пустое
Изменено: SERGEJ64 - 20.11.2023 08:47:59 (Неверный коммент)
 
Цитата
написал:
Добрый день! На тот момент уже был не в сети. Вставил макрос, но название файлов взялось из содержания, а содержание внутри файла пустое
Сместил на колонку шаблон (вроде норм)). Спасибо!
 
SERGEJ64 Если правильно понял. то можно еще так
 
Заметки без BOM только ошибку выдают.. Не могу пока понять, в чем проблема.
 
Цитата
написал:
SERGEJ64  Если правильно понял. то можно еще так
Да, спасибо огромное! Работает
 
Цитата
SERGEJ64 написал:
Не могу пока понять, в чем проблема.
FileName$ = .BuildPath(folder, FileName) & ".md"
               Writer_To strUnicode, FileName

Writer_To замените на Writer_SkipBOM
 
Цитата
написал:
FileName$ = .BuildPath(folder, FileName) & ".md"                Writer_To strUnicode, FileNameWriter_To замените на Writer_SkipBOM
Спасибо вам большое! Все отлично!
Страницы: 1
Наверх