Погуглил. Тема не новая. Но просмотрев темы, не увидел, что проблема решена.
Вообще исходная задача такова :
В Макете печатной формы как Active Document хранится файл- шаблон Excel с двумя листами.
Нужно по каждой строке ТЧ сформировать новый файл и заполнить его (оба листа)
Задачу, как я вижу можно решать тремя способами :
1. Получать шаблон Excel по каждой строке ТЧ затем сохраняя его
КнигаШаблонExcel = ПолучитьМакет("МойДокумент_Excel").Получить();
Заполнение ….
КнигаШаблонExcel.SaveAs(ПолноеИмяФайла);
файлы создаются но почему то пустые
2. Скопировать лист из шаблона в книгу
ExcelApplication = Новый COMОбъект("Excel.Application");
КнигаПриемникExcel = ExcelApplication.Workbooks.Add(1);
ЛистШаблона = КнигаШаблонExcel.Sheets(1);
ЛистШаблона.Copy(КнигаПриемникExcel.Sheets(1)); // копируем лист шаблона с указанием приемника
ExcelApplication.ActiveWorkbook.SaveAs(ПолноеИмяФайла);
ExcelApplication.Quit();
Произошла исключительная ситуация (Microsoft Excel): Метод Copy из класса Worksheet завершен неверно
3. Скопировать именнованную область из шаблона в книгу
ExcelApplication = Новый COMОбъект("Excel.Application");
КнигаПриемникExcel = ExcelApplication.Workbooks.Add(1);
ЛистШаблона = КнигаШаблонExcel.Sheets(1);
ЛистШаблона.Range("Справка_А").Copy(КнигаПриемникExcel.Sheets(1).Range("A1:D38")); // копируем именнованную область из шаблона
ExcelApplication.ActiveWorkbook.SaveAs(ПолноеИмяФайла);
ExcelApplication.Quit();
Произошла исключительная ситуация (Microsoft Excel): Метод Copy из класса Range завершен неверно
Ни один способ не работает. Как быть ? Очень надо.
+(2) так работает, правда не совсем то что нужно автору :)
ExcelApplication = Новый COMОбъект("Excel.Application");
Док = ExcelApplication.Workbooks.Open("D:\1с82\1.xls");
ЛистШаблона = Док.Sheets(1);
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший