![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибка после закрытия 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-файлов...