Имя: Пароль:
1C
1С v8
Скопировать лист Excel из макета в новый файл
0 Очень Любознательная
 
12.04.19
12:50
Добрый день! Есть внешняя обработка, содержащая макет в виду Excel-файла.

Необходимо скопировать его листы в новый файл excel.

Код на сервере:

    Попытка
        Excel = New COMОбъект("Excel.Application");
        Excel.Visible = 0;
        Excel.AutomationSecurity = 3;
        Excel.EnableEvents = 0;
        Excel.FileValidation = 1;
        Excel.FileValidationPivot = 2;
        Книга = Excel.WorkBooks.Add();
        Лист = Книга.WorkSheets(1);
        Лист.Name = "test";
    Исключение
        Сообщение = Новый СообщениеПользователю;
        Сообщение.Текст = "Ошибка создания com объекта Excell";
        Сообщение.Сообщить();
        Возврат;
    КонецПопытки;
    Попытка
        объ = РеквизитФормыВЗначение("Объект");
        Макет = объ.ПолучитьМакетExcell();
        МакетОбразца = Макет.Получить();
        ЗначениеВРеквизитФормы(объ, "Объект");

        СтарыйЛист = МакетОбразца.WorkSheets(1);
    Исключение
        Сообщение = Новый СообщениеПользователю;
        Сообщение.Текст = "Ошибка получения макета образца";
        Сообщение.Сообщить();
        Возврат;
    КонецПопытки;
    МакетОбразца.WorkSheets(1).Copy(Книга.WorkSheets(1));
Не срабатывает. 

Подскажите, пожалуйста, как скопировать? COM-объекты определяются, они создаются. Лист книги я могу получить и старой, и новой.
БГУ 2.-.61.28, платформа 8.3.13.1690
1 Vlad33k
 
12.04.19
13:26
(0) Зачем вам вообще читать и записывать Excel через com-объект? Все можно сделать с помощью методов Табличного документа. Читайте про методы Табличного документа "Прочитать()" "Записать()" и про "ПакетОтображаемыхДокументов" - для записи на нескольких листах
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс