Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
11 дек 2024, 10:12

как программно обратится к libreoffice calc

Автор margo, 06 дек 2023, 17:05

0 Пользователей и 1 гость просматривают эту тему.

margo

Доброго времени суток. Вопрос есть функция Табличный документ.Записать(ПутьКФайлу, ТипФайлаТабличногоДокумента.XLS). Я пыталась записать в ескель. ДЛя этого предварительно создаю файлы программно ПриложениеExcel = Новый COMОбъект("Excel.Application");
    ПриложениеExcel.DisplayAlerts = 0;
    ПриложениеExcel.Visible = 0;
    ПриложениеExcel.SheetsInNewWorkbook = 1;

    КнигаExcel = ПриложениеExcel.Workbooks.Add();
    ПутьКФайлу = Строка(Объект.Путь) +"\" + Строка(Контр) + ".xls";
    КнигаExcel.SaveAs(ПутьКФайлу, -4143);
   
    ПриложениеExcel.Quit();
Но у меня на сервере нету Екселя и выдало ошибку -2147221005(0x800401F3): Недопустимая строка с указанием класса. Есть libreoffice calc. Как к ниму обратится, чтобы создать файл с наименованием контрагента и далее записать туда данные функцией ТабличныйДокумент.Записать()

LexaK

не нужно создавать такие файлы!
табличный документ сам по себе может создать файл ХЛС
просто сохраняйте и все.
если помогло нажмите: Спасибо!

margo

LexaK, спасибо. А подскажите, как тогда задать имя сохраняемого файла, потому что если пишу так

ПутьКФайлу= Строка(Объект.Путь) +"\" [b]+ Строка(Контр)[/b] + ".xls"; Табличный документ.Записать(ПутьКФайлу, ТипФайлаТабличногоДокумента.XLS) То пишет, что файл не найден. А если так

ПутьКФайлу= Строка(Объект.Путь) +"\" + ".xls"; то создается файл без имени, а в цикле для каждого контрагента при создании должно быть свое имя

antoneus

В имени контрагента могут быть разные запрещенные в файловой системе Windows символы. Слэши, звездочки и так далее.

margo

всем спасибо, у меня вышло. Я внесла ИмяИспользуемогоФайла и прописала его в пути для сохранения и вышло
    ТабДок.ИспользуемоеИмяФайла = Строка(Контр);

Если ЗначениеЗаполнено(Объект.Путь) Тогда
Поток = Строка(Объект.Путь) +"\" + Строка(Контр) + ".xls";
Попытка
ТабДок.Записать(Поток, ТипФайлаТабличногоДокумента.XLS);
Исключение
КонецПопытки;
Иначе
Сообщить("Не задан путь к файлу");
КонецЕсли;

 

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск