Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
16 апр 2024, 17:16

Cоздание Excel afqkf по оформлению из другого файла Excel

Автор bugs, 23 авг 2011, 12:14

0 Пользователей и 1 гость просматривают эту тему.

bugs

Здрасти Всем! Очень срочно нужна помощь!

Имеется отчет формирует книгу Excel.

В отчете предусмотрена фунция копирования оформления из одного файла *.xls в создаваемый файл тоже *.xls

Код в отчете:

           ПутьКШаблонам="C:\Dots_1C\КМ_ППК";
   
           Excel = Новый COMОбъект("Excel.Application");    Excel.Displayalerts = 0;//отключить встроенные предупреждения Excel
   
           // Создается новая книга на основании указаного шаблона "ОбщийРапорт.xlt"
           РабочаяКнига=Excel.Application.Workbooks.Add(ПутьКШаблонам+"\ОбщийРапорт.xlt");
   
   Открываем источник-шаблон из которого будет копироватся область оформления
   Excel.Workbooks.Open(ПутьКШаблонам+"\ШаблонОснование.xls");

           ЛистШаблон = Excel.ActiveSheet;
           
           ЛистШаблон.Range("ЭкспрессАнализ").Copy(Лист.Range(Лист.Cells(20,НомерСтолбца+1),Лист.Cells(20,НомерСтолбца+29)));

   Excel.visible=1;
   Excel = 0;

На данный момент выводится два файла, имеющийся файл "ШаблонОснование.xls" и созданный файл "ОбщийРапорт.xlt"


Возможно зделать так чтобы, файл "ШаблонОснование.xls" скопировал оформление и закрыл, а шаблон "ОбщийРапорт.xlt" вывести!

Klyacksa

Можно, например, просто спрятать ненужный файл:
ЦитироватьЭксель.Visible = Видимость;
   0 - Excel не виден, 1 - виден.

Либо попробовать закрыть книгу:
      Эксель.Application.Quit();

Правда, есть вероятность, что закроются обе. Не проверяла, но теоретически не должно.
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

has


bugs

has чпасибо помогло!

Вот так выглядит рабочий вариант

           ПутьКШаблонам="C:\Dots_1C\КМ_ППК";
   
           Excel = Новый COMОбъект("Excel.Application");    Excel.Displayalerts = 0;//отключить встроенные предупреждения Excel
   
           // Создается новая книга на основании указаного шаблона "ОбщийРапорт.xlt"
           РабочаяКнига=Excel.Application.Workbooks.Add(ПутьКШаблонам+"\ОбщийРапорт.xlt");
           Лист = РабочаяКнига.Sheets(3);

   
           Открываем источник-шаблон из которого будет копироватся область оформления
           ШаблонРабочаяКнига =  Excel.Workbooks.Open(ПутьКШаблонам+"\ШаблонОснование.xls");

           ЛистШаблон = ШаблонРабочаяКнига.ActiveSheet; // В это файле один лист
           
           ЛистШаблон.Range("ЭкспрессАнализ").Copy(Лист.Range(Лист.Cells(20,НомерСтолбца+1),Лист.Cells(20,НомерСтолбца+29)));
           ШаблонРабочаяКнига.Close();


           Excel.visible=1;
           Excel = 0;



Klyacksa, фунция которая ты предложила она полностью завершает работу Excel, следовательно закрываются все обе книги!

Все спасибо за помощь!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск