![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблемы с Excell в D7 срочно [D7, WinXP]
Varf © (2006-10-19 11:33:00)Помогите плз!!!
проблема такая:
нужно из excell файла дернуть некуюинфу и закрыть!!(возможно из нескольких файлов)
создаю excell application через вкладку servers (в таком виде):
ExcelApplication1:= TExcelApplication.Create(self);
ExcelApplication1.Connect;
exactive:=true;
for iFileID := 0 to iNumFiles - 1 do begin
// filename:= OpenDialogInFile.Files.Strings[iFileID];
WorkBook:=ExcelApplication1.Workbooks.Open(filename[iFileID], EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,Emp tyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,lcid);
Worksheet:=Workbook.Worksheets.Item['Лист1'] as _Worksheet;
все работает замечательно!!!
но если подцепленно несколько файлов закрываться не хочет!!!
закрывает только 1 экземпляр excell а остальные остаются(закрываю так):
for iFileID :=0 to iNumFiles-1 do begin
WorkBook.Close(EmptyParam,filenameiFileID],EmptyParam,lcid);
end;
ExcelApplication1.Disconnect;
ExcelApplication1.Destroy;
выдает: Project .... raised exception class EOleException with message : Вызванный объект был отключен от клиентов!
Varf (2006-10-19 13:53:00) [1]Все разобрался!!! все оказалось как всегда просто!!!
извиняюсь!!! Спасибо!!!!
Varf (2006-10-19 13:46:00) [2]
> EvS
и ваш вариант что то же ни к чему хорошему не привел!!!
Varf (2006-10-19 13:41:00) [3]
> Dmitrij_K
Смысл уловил но как реализовать че то не пойму!!
EvS (2006-10-19 12:28:00) [4]for i:=ExcelApplication1.Workbooks.Count-1 downto 0 do ExcelApplication1.Workbooks[i].Close(0);
umbra (2006-10-19 12:07:00) [5]а чего это Вы пытаетесь одну и туже книгу закрыть несколько раз?
Dmitrij_K (2006-10-19 11:52:00) [6]А ты не думал что
for iFileID :=0 to iNumFiles-1 do begin
WorkBook.Close(EmptyParam,filenameiFileID],EmptyParam,lcid);
end;
при закрытии одного остается открытыми на 1 меньше?
если их всего было 2 то после закрытия 1-го, 2-ой становится 1-ым и его закрывать надо как 1-ый
Varf (2006-10-19 11:47:00) [7]
> Dmitrij_K (19.10.06 11:41) [1]
> while WorkBook.Count<>0 do WorkBook.Close(0);
спасибо конечно... но Count - undeclared!!!
если это стандартное то наверно что то забыл в Uses закинуть??? а что???
Dmitrij_K (2006-10-19 11:41:00) [8]
while WorkBook.Count<>0 do WorkBook.Close(0);