Есть процедура которая должна бы копировать листы в одну книгу, отрабатывает без ошибок, т.е. листы в новой книге создаются, но проблема в том что они пустые, т.е. содержимое листов не копируется. Что я делаю не так?
Процедура ПеренестиЛистВКнигуExcel(ПутьКниги, ПутьЛиста, НовоеИмяЛиста) Экспорт
Файл = Новый COMОбъект("Excel.Application");
Файл.Visible = 0;
Файл.DisplayAlerts = 0;
Попытка
Книга = Файл.Workbooks.Open(ПутьКниги);
Исключение
Книга = Файл.Workbooks.Add();
Книга.SaveAs(ПутьКниги);
КонецПопытки;
Попытка
Лист = Файл.Workbooks.Open(ПутьЛиста);
Исключение
Файл = 0;
Возврат;
КонецПопытки;
Попытка
Книга.Worksheets(НовоеИмяЛиста).Delete();
Исключение
КонецПопытки;
// Скопировать лист из Лист в Книга:
НовыйЛист = Книга.Worksheets.Add();
НовыйЛист.Name = НовоеИмяЛиста;
НовыйЛист.Copy(Лист.Worksheets(1));
Лист.Close(0);
Книга.Save();
Книга.Close(-1);
Файл = 0;
КонецПроцедуры
может
Лист.Worksheets(1).Copy(НовыйЛист);
alex040269 Прогресс есть, но. Листы копируются с содержимым, но создаются новые листы по порядку, а добавленные с новыми именами так и пустые.
Заменил это
НовыйЛист = Книга.Worksheets.Add();
НовыйЛист.Name = НовоеИмяЛиста;
НовыйЛист.Copy(Лист.Worksheets(1));
Лист.Worksheets(1).Name = НовоеИмяЛиста;
Лист.Worksheets(1).Copy(Книга.Worksheets(1));
Процедура ПеренестиЛистыВКнигуExcel(ПутьКниги, СписокФайлов) Экспорт
Файл = Новый COMОбъект("Excel.Application");
ФСО = Новый COMОбъект("Scripting.FileSystemObject");
Файл.Visible = 0;
Файл.DisplayAlerts = 0;
Попытка
Книга = Файл.Workbooks.Open(ПутьКниги);
Исключение
Книга = Файл.Workbooks.Add();
Книга.SaveAs(ПутьКниги);
КонецПопытки;
Для Каждого ФайлЛиста Из СписокФайлов Цикл
НовоеИмяЛиста = ФСО.GetBaseName(ФайлЛиста.Значение);
Попытка
Лист = Файл.Workbooks.Open(ФайлЛиста.Значение);
Исключение
Продолжить;
КонецПопытки;
Попытка
Лист.Worksheets(1).Name = НовоеИмяЛиста;
Исключение
Лист.Worksheets(1).Name = НовоеИмяЛиста+"A";
КонецПопытки;
Лист.Worksheets(1).Copy(Книга.Worksheets(1));
Лист.Close(0);
УдалитьФайлы(ФайлЛиста.Значение);
//Книга.Save();
КонецЦикла;
Книга.Save();
Книга.Close(-1);
Файл = 0;
КонецПроцедуры
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua