0
Zhuravlik
12.05.18
✎
18:33
|
Всем привет. Возникла задача: есть каталог файлов docx, его надо портировать в confluence. Вспомнил что что-то такое было в OneScript: действительно, есть библиотека для работы с confluence - все пашет, страницы создаются.
Облом в том, как получать содержимое страницы из docx - по-идее ворд надо пересохранять в html, и доставать оттуда текст. onescript подвел в работе с com-объектом, то что работает из 1С в нем валится.
Вот такой код:
ИмяФайла = "C:\Users\User\Desktop\Новая папка (2)\Мой файл.docx";
Файл = Новый Файл(ИмяФайла);
ИмяФайлаВЕБ = Файл.Путь + Файл.ИмяБезРасширения + ".html";
Ворд = Новый COMОбъект("Word.Application");
ТекДок = Ворд.Documents.ADD(ИмяФайла);
ТекДок.Activate();
ТекДок.SaveAs(ИмяФайлаВЕБ, 10);
Ворд.Application.Quit();
Текст = Новый ТекстовыйДокумент;
Текст.Прочитать(ИмяФайлаВЕБ);
СодержимоеСтраницы = Текст.ПолучитьТекст();
Сообщить(СодержимоеСтраницы);
Отрабатывает в 1С, но валится в onescript:
{Модуль D:\Projects\Tools\OneScript\Тест.os / Ошибка в строке: 15 / Внешнее исключение (System.Runtime.InteropServices.COMException): Несовпадение типов. (Исключение из HRESULT: 0x80020005 (DISP_E_TYPEMISMATCH))}
Процесс терминала завершен с кодом выхода: 1
Строка 15 это ТекДок.SaveAs(ИмяФайлаВЕБ, 10);
Если что, решу из 1С, но уж очень хотелось onescript поюзать)
|
|
3
Zhuravlik
13.05.18
✎
12:12
|
(1) {Модуль D:\Projects\Tools\OneScript\Тест.os / Ошибка в строке: 15 / Внешнее исключение (System.Runtime.InteropServices.COMException): Несовпадение типов. (Исключение из HRESULT: 0x80020005 (DISP_E_TYPEMISMATCH))}
Процесс терминала завершен с кодом выхода: 1
(2) изучить новую технологию, весьма привлекательную с позиции быстрого входа. Код на onescript без особого геморроя будет понятен любому 1С
|
|