Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.03;
Скачать: CL | DM;

Вниз

Проблемы с Excell в D7 срочно   Найти похожие ветки 

 
Varf   (2006-10-19 11:33) [0]

Помогите плз!!!
проблема такая:
нужно из 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 : Вызванный объект был отключен от клиентов!


 
Dmitrij_K   (2006-10-19 11:41) [1]

while WorkBook.Count<>0 do WorkBook.Close(0);


 
Varf   (2006-10-19 11:47) [2]


> 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:52) [3]

А ты не думал что
for iFileID :=0  to iNumFiles-1 do begin
    WorkBook.Close(EmptyParam,filenameiFileID],EmptyParam,lcid);
  end;

при закрытии одного остается открытыми на 1 меньше?
если их всего было 2 то после закрытия 1-го, 2-ой становится 1-ым и его закрывать надо как 1-ый


 
umbra ©   (2006-10-19 12:07) [4]

а чего это Вы пытаетесь одну и туже книгу закрыть несколько раз?


 
EvS ©   (2006-10-19 12:28) [5]

for i:=ExcelApplication1.Workbooks.Count-1 downto 0 do ExcelApplication1.Workbooks[i].Close(0);


 
Varf   (2006-10-19 13:41) [6]


> Dmitrij_K

Смысл уловил но как реализовать че то не пойму!!


 
Varf   (2006-10-19 13:46) [7]


> EvS

и ваш вариант что то же ни к чему хорошему не привел!!!


 
Varf   (2006-10-19 13:53) [8]

Все разобрался!!! все оказалось как всегда просто!!!
извиняюсь!!! Спасибо!!!!



Страницы: 1 вся ветка

Текущий архив: 2006.12.03;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.039 c
11-1139940307
Boguslaw
2006-02-14 21:05
2006.12.03
MSEGUI


3-1159522323
RomanH
2006-09-29 13:32
2006.12.03
Результат запроса null->результат запроса=0


2-1163360378
pavels777
2006-11-12 22:39
2006.12.03
Распознование Текста с сканера!


6-1152890949
_kos
2006-07-14 19:29
2006.12.03
Socket в цикле


2-1163498941
Димыч
2006-11-14 13:09
2006.12.03
Динамическое создание объектов