Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ошибка после закрытия Excel [D6]


O.O ©   (2008-02-28 11:12:00) 

Для формирования отчёта использую в программе использую взаимодействие с MS Excel
var ...
    XL: Variant;
...
 XL := CreateOleObject('Excel.Application');
 XL.DisplayAlerts := false;
...
...
 XL.DisplayAlerts := true;

Всё прекрасно, документ формируется, Excel открывается, но возникает проблема: на некоторых компьютерах после зпкрытия документа появляется стандартное окно ошибки MS Office с сообщением

"Microsoft Office Excel - обнаружена ошибка. Приложение будет закрыто. Приносим извинения за неудобства"
....
....
....

И именно на одних машинах это возникает, на других нет. Как не бился, понять в чём разница настройки офиса или системы - не понимаю. Переустановка офиса не помогает.

В чём может быть проблема?


MsGuns   (2008-02-29 00:09:00) [1]

procedure XLExp_OpenReport(TemplateName: OleVariant);
// Процедура создает в первый раз Excel-приложение, а если оно уже существует,
// то коннектится к нему, определяя опции коннекта и создавая объекты "Книга"
// и "Лист". Имя книги задается параметром TemplateName
begin
 if not Assigned(XLExp_Report) then
    XLExp_Report:=TExcelApplication.Create(nil);
 XLExp_Report.ConnectKind:=ckRunningOrNew;
 XLExp_Report.Connect;
 try
   // если офис 2003, ХР
   XLExp_WorkBook :=XLExp_Report.Workbooks.Add('',0);
 except
   try
     // если офис 2000
     XLExp_WorkBook :=XLExp_Report.Workbooks.Add('Книга1',0);
   except
     try
        //если Офис 97
       XLExp_WorkBook :=XLExp_Report.Workbooks.Add(xlWBatWorkSheet,0);
     except
     end;
   end;
 end;
 XLExp_Sheet:=XLExp_Workbook.Worksheets.Item[1] as   Excel2000.ExcelWorkSheet;
end;


macrodens   (2008-02-28 22:02:00) [2]

а в uses секции ты какой excel подключаешь?


O.O   (2008-02-28 12:41:00) [3]

В настоящее время для меня это не выход, нужно чтоб документ был именно Excel, но любой версии начиная с 97


YurikGL   (2008-02-28 11:57:00) [4]

Переходи на создание xlm-файлов...


Наверх

Титульная страница Поиск, карта сайта Написать письмо