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

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

GetActiveOleObject [Delphi, Windows]


Saska ©   (2005-01-20 11:32:00) 

День добрый, мастера.
Для получения активного Ёкселя использую следующий код:
aExcelApp := Null;
 try
   aExcelApp := GetActiveOleObject('Excel.Application');
 except
   aExcelApp := Null;
   MessageBox(0, PChar('íå óäàåòñÿ ïðèñîåäèíèòüñÿ ê Excel'), PChar('Îøèáêà'), MB_OK);
   exit;
 end;

Все хорошо, если в этот момент открыт один Ёксель, а если не один, то таким образом, я получу, грубо говоря первый попавшийся. Вопрос: можно ли как-то дифференцировать получение объектов, т.е. указать какой именно из запущщеных экселей нужен (а точнее не брать любой, кроме одного, созданного ранее как ExcelApp := CreateOleObject('Excel.Application'))?
Спасибо.


Nikolay M.   (2005-01-24 21:13:00) [1]

Вроде бы, через моникеры получалось сделать.


GanibalLector   (2005-01-22 02:31:00) [2]

2 GuAV ©   (22.01.05 02:28) [10]
Блин,когда ты себе Асю заведешь?
З.Ы.Ща напишу...


GuAV   (2005-01-22 02:28:00) [3]

Я на счёт пЫва, только отвечай не сюда а на мыло.


GanibalLector   (2005-01-22 02:25:00) [4]

2 GuAV ©   (22.01.05 02:20) [8]
Если ты на счет своего обещания.Согласен,сдержал слово.Я твоих постов не видел.

Ну,а если на счет пЫва,то с тобой всегда рад ;)


GuAV   (2005-01-22 02:20:00) [5]

GanibalLector ©   (22.01.05 1:50) [7]
З.Ы.Сегодня я трезвый :)

http://www.delphimaster.ru/cgi-bin/forum.pl?id=1105136702&n=3
пост [16]


GanibalLector   (2005-01-22 01:50:00) [6]

>Интересное о себе
F1 - интересно, Ctrl+Click - ещё интереснее,
но самое интересное - F7/F8, особенно в сочетании с Ctrl+Alt+C

Ну,мне в лом было.Спасибо,что разрулил ;)
З.Ы.Сегодня я трезвый :)


GuAV   (2005-01-21 02:31:00) [7]

GanibalLector ©   (21.01.05 1:51) [5]

^Какая нафик разница:

function Unassigned: Variant;
begin
 _VarClear(TVarData(Result));
end;

function Null: Variant;
begin
 _VarNull(TVarData(Result));
end;

procedure _VarNull(var V: TVarData);
begin
 _VarClear(V);
 V.VType := varNull; // это и всё отличие
end;


GanibalLector   (2005-01-21 01:51:00) [8]

Кстати,
>  aExcelApp := Null;
Низя так...Unassigned рулит!


GanibalLector   (2005-01-21 01:50:00) [9]

>Если я правильно понял, то вопрос стоял другой...
А я вот,так не считаю.См.[0]
З.Ы.Хотя,я пьяный сегодня.Причем ужасно ;)
З.З.Ы.YurikGL-мой друг ;)


YurikGL   (2005-01-20 22:09:00) [10]


> GanibalLector ©   (20.01.05 21:41) [2]

Если я правильно понял, то вопрос стял другой...
Если одновременно запущено несколько ole-серверов, как подключиться к конкретному....

Честно говоря, все, что приходит на ум - либо не допускать такого, либо однажды подсоединившись отсоединяться только по завершению работы...


GanibalLector   (2005-01-20 21:41:00) [11]

http://www.delphimaster.ru/cgi-bin/forum.pl?id=1105835658&n=8


Saska   (2005-01-20 14:27:00) [12]

ап!


Наверх

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