() Проблема решилась именно таким образом. Создание временных файлов и в дальнейшем копирование в один эксель.
Пример кода прилагаю, может кому поможет:
Попытка
// Загрузка объекта Microsoft Excel
Состояние("Выгрузка данных из 1С в Microsoft Excel...");
ExcelПриложение = Новый COMОбъект("Excel.Application");
ExcelПриложение2 = Новый COMОбъект("Excel.Application");
Исключение
Сообщить("Ошибка при запуске Microsoft Excel."
+ Символы.ПС + ОписаниеОшибки(), СтатусСообщения.Внимание);
Возврат;
КонецПопытки;
WorkBook = ExcelПриложение.WorkBooks.Add();
Для каждого Элемент из ЭтаФорма.ЭлементыФормы цикл
Если Тип(Элемент) =Тип("ПолеТабличногоДокумента") тогда
ТДок = Элемент;
Первый = Истина; // у нас уже есть один лист, надо использовать его
ПрошлыйЛист = Неопределено;
ВрФайл = ПолучитьИмяВременногоФайла("xls");
Элемент.Записать(ВрФайл, ТипФайлаТабличногоДокумента.XLS);
Книга = WorkBook.Worksheets.Add();
Книга.Application.Sheets(1).Name = Элемент.Имя;
мКнига = ExcelПриложение2.Workbooks.Open(ВрФайл);
мКнига.Application.Sheets(1).Cells.Select();
ExcelПриложение2.Selection.Copy();
Если Первый Тогда // Используем созданный автоматически
НовыйЛист = Книга.Application.Sheets(1);
ExcelПриложение.DisplayAlerts = 0;
Попытка
НовыйЛист.Paste();
Исключение
КонецПопытки;
ExcelПриложение.DisplayAlerts = 1;
Первый = Ложь;
Иначе // добавляем новый
НовыйЛист = Книга.Application.Sheets.Add(, ПрошлыйЛист); // Добавляем новый лист после прошлого
КонецЕсли;
ExcelПриложение2.DisplayAlerts = 0;
мКнига = ExcelПриложение2.Workbooks.Close();
ExcelПриложение2.DisplayAlerts = 1;
КонецЕсли;
КонецЦикла;
ExcelПриложение.Quit();
Показать