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

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

Excel: ссылка на открытый документ [D6, Win2k]


pesh ©   (2004-07-07 10:11:00) 

Люди!!! Кто знает как получить ссылку на уже запущенноеExcel-приложение (документ)?
Пусть у нас есть ea: TExcelApplication
тогда ea.Workbooks.Open()позволит получить открытый документ через ea.ActiveWindow.
Но еслия не хочу делать Open, а сразу же после запуска проги хочу иметь ссылку на уже открытый документ?
ea.ActiveWindowв таком случае не проходит.


Romkin   (2004-07-07 10:40:00) [1]


var
 Excel: ExcelApplication;
 unk: IUnknown;
begin
 //Если Excel уже есть - хватаем его :))
 if Succeeded(GetActiveObject(CLASS_ExcelApplication, nil, unk)) then
   OleCheck(unk.QueryInterface(ExcelApplication, Excel))
 else //Не получилось - запущаем
   Excel := CoExcelApplication.Create;
 unk := nil;
 //Workbook - если есть, юзаем
 if Excel.Workbooks.Count > 0 then
   WorkBook := Excel.ActiveWorkbook
 else
 begin
   Excel.Workbooks.Add(EmptyParam, 0);
   Workbook := Excel.ActiveWorkbook;
 end;


Думкин   (2004-07-07 10:34:00) [2]

If Application.Documents.Count >= 1 Then
   MsgBox ActiveDocument.Name
Else
   MsgBox "No documents are open"
End If


serg128   (2004-07-07 10:34:00) [3]

Вот в этом классе ( TExcelApplication) и есть свойство AttachToInterface.


Тимохов   (2004-07-07 10:17:00) [4]

я это делал года два назад - стратью брал с сайта "Королевство дельфи".
Более ничего сказать не могу, т.к. нужно искать.
Но можете поискать сами - я ее вроде недавно там видел (случайно натыкался в поисках документации по xml схемам к excel)


Наверх

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