Дельфи и Ексель

lenash
Дата: 11.10.2006 06:21:19
Скажите можно ли в одной программе использовать два компонента ExcelApplication и работать с двумя приложениями ескель?
arni
Дата: 11.10.2006 06:45:17
lenash
Скажите можно ли в одной программе использовать два компонента ExcelApplication и работать с двумя приложениями ескель?
попробуйте - что может быть проще?
lenash
Дата: 11.10.2006 06:46:23
Мне нужно открыть два файла ексель и сравнить их. Делаю так:
fileName:=OD1.FileName;
EA1.AutoConnect:=True;
EA1.Workbooks.Add(fileName,0);
EW1.ConnectTo(EA1.ActiveWorkbook);
EA1.Visible[0]:=False;

fileName2:=PerTerr.OpenDialog1.filename;
EA2.AutoConnect:=True;
EA2.Workbooks.Add(fileName2,0);
EW2.ConnectTo(EA2.ActiveWorkbook);
EA2.Visible[0]:=False;

Получается что EA1 работает с filename2. Почему так, подскажите пожалуйста?
Tosh
Дата: 11.10.2006 07:49:43
А если очень внимательно прочитать про ExcelApplication Workbook и очень внимательно прочитать что есть ActiveWorkbook?
Вы создаете ОДИН Application, а второй раз соединяетесь с уже запущенным экземпляром COM объекта.
Очень прошу - почитайте хоть немного об идеологии COM и как с этим зверем работать.
lenash
Дата: 11.10.2006 09:01:34
в моей книге это плохо описано
можно пример, как открыть 2 workbook одного application?
Tosh
Дата: 11.10.2006 09:48:38
Ну так посмотрите хэлп по VBA
Workbooks.add возвращает вам именно тот экземпляр книги, который вы толькочто загрузили
lenash
Дата: 11.10.2006 09:54:38
нет у меня возможности щас нигде хелп посмотреть
так
fileName:=OD1.FileName;
fileName2:=PerTerr.OpenDialog1.filename;
EA1.AutoConnect:=True;
EA1.Workbooks.Add(fileName,0);
EA1.Workbooks.Add(fileName2,0);

а как сделать активной нужную книгу?
Anatoly Podgoretsky
Дата: 11.10.2006 13:34:36
Можно использовать столько ExcelApplication, сколько нужно.
YurikGL
Дата: 11.10.2006 21:26:38
lenash


а как сделать активной нужную книгу?

Нажимаешь "начать запись макроса", делаешь активной нужную книгу, нажимаешь "закончить запись макроса", смотришь получившийся макрос
grexhide
Дата: 11.10.2006 22:09:05
Anatoly Podgoretsky
Можно использовать столько ExcelApplication, сколько нужно.


Вообще то он спрашивал про то, как можно гарантированно работать с двумя процессами, а не двумя объектами (два объекта могут ссылаться на один процесс).