Во всех предыдущих примерах мы создавали объект Application с помощью
функции CreateOleObject. Это влекло за собой запуск соответствующего
приложения MS Office. Но когда приложение запущено и требуется создать
объект, который будет ссылаться на это приложение, нужно использовать
функцию GetActiveOleObject, возвращающую ссылку на объект, класс кото-
рого описан в строке — единственном аргументе этой функции. Следующий
пример демонстрирует использование данной функции.
Подключение к выполняющемуся приложению MS Excel
procedure TForml.ButtonlClick(Sender: TObject);
begin
E:=GetActiveOleObject('Excel.Application');
E.Visible:=True;
end;
В приложениях Delphi, предназначенных для работы с документами MS Office,
лучше использовать не одну функцию GetActiveOleObject, а пару функ-
ций GetActiveOleObject и CreateOleObject. Это позволит при отсутствии от-
крытых приложений обработать ошибку и открыть приложение для работы
с документами. Следующая процедура позволяет запустить приложение
MS Office, если оно до этого не было активным.
Запуск неактивного приложения M S Office
procedure TForml.Button2Click(Sender: TObject);
begin
try
E:=GetActive01e0bject('Excel.Application');
except
E:=Create01e0bj ect('Excel.Application');
end;
E. Visible:=True;
end;
Описанный способ использования приложений MS Office в проектах Delphi
является более экономичным и гибким и избавит пользователя от лишних
манипуляций. |