К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Ну удается сохранить шаблон Аctive Document Excel из обработки во внешний файл Excel

Гость
0 - 11.12.2014 - 13:16
Теперь мне нужно просто сохранить файл Excel из макета во внешний файл с определенным именем. Пишу такую конструкцию :
КнигаШаблонExcel = ПолучитьМакет("Макет").Получить(); //открываем книгу с

КнигаШаблонExcel.SaveAs(«Файл1.xlsx»);

Макет пробовал создавать двумя способами :
1. Создал «Аctive Document» и в конфигураторе скопировал туда листы из другого файла
2. Создал «Аctive Document» и загрузил макет из внешнего файла Excel.

В обоих случаях файл создается но …
В первом случае при попытке открыть созданный возникает предупреждение системы безопансости и файл пустой
Во втором случае файл открывается нормально но все равно пустой

ЧЯДНТ ?



Гость
1 - 11.12.2014 - 13:34
Спроси на использовании программ, там есть economist он хорошо знает как excel так и LibreOffice.
2 - 11.12.2014 - 14:29
Вот работающий код:
ИмяФайлаXLS = сокрлп(ИмяФайла);
ИмяФайлаXLS = лев(ИмяФайлаXLS, стрдлина(ИмяФайлаXLS) - 4) + "XLS"; // отрежем расширение xltx и добавим xls
Попытка
ТабДок.Записать(ИмяФайлаXLS, ТипФайлаТабличногоДокумента.XLS);
Исключение
сообщить("Не удалось сохранить промежуточный файл " + ИмяФайлаXLS + ": " + ОписаниеОшибки(), СтатусСообщения.Важное);
Возврат;
КонецПопытки;

состояние("Запускается MS Excel...");
Попытка
Экс = Новый COMОбъект("Excel.Application");
Исключение
сообщить("На компьютере не установлен MS Excel. Сохранить шаблон заказа невозможо!", СтатусСообщения.Важное);
Возврат;
КонецПопытки;

состояние("Открывается файл " + ИмяФайлаXLS + "...");
Попытка
РабочаяКнига = Экс.Workbooks.Open(ИмяФайлаXLS);
Исключение
сообщить("Не удалось открыть файл " + ИмяФайлаXLS + ": " + ОписаниеОшибки(), СтатусСообщения.Важное);
Экс.Quit();
Возврат;
КонецПопытки;

....

состояние("Сохраняется файл " + ИмяФайла + "...");
Попытка
РабочаяКнига.SaveAs(ИмяФайла,54 );
Исключение
сообщить("Не удалось сохранить файл " + ИмяФайла + ": " + ОписаниеОшибки(), СтатусСообщения.Важное);
КонецПопытки;
Гость
3 - 11.12.2014 - 14:37
(2) В данном примере табличный документ 1С сохраняется как Excel , а затем с ним работают как с книгой. Здесь несколько другая тема : макет Excel уже содержит правильное разбиение ячеек и форматирование - он хранится в обработке на его основе формируется и заполняется конечный файл.
Гость
4 - 12.12.2014 - 20:14
Тип макета нужен "Двоичные данные".

И весь код:
Макет = ПолучитьМакет("Макет");
Макет.Записать(ПолноеИмяФайла);


К списку вопросов






Copyright ©, Все права защищены