![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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)