com_get_active_objectВернуть дескриптор на уже запущенный экземпляр объекта COM
&reftitle.description;
variantcom_get_active_objectstringprog_idintnullcodepage&null;com_get_active_object - это то же самое, что и создание
нового экземпляра объекта , за исключением того, что
объект будет возвращён, если он уже запущен. Приложения OLE используют так называемую
"Таблицу Запущенных Объектов" для возможности запускать
приложения единожды. Эта функция представляет обёртку над библиотечной
COM-функцией GetActiveObject().
&reftitle.parameters;
prog_idprog_id должен быть или ProgID или CLSID объекта,
к которому вы хотите получить доступ (к примеру, Word.Application).
codepage
Делает то же самое, что и в классе .
&reftitle.returnvalues;
Если запрошенный объект запущен, то он будет возвращён вашему скрипту как
любой другой объект COM.
&reftitle.errors;
Есть множество причин, по которым эта функция может завершиться с ошибкой. Наиболее
распространённая причина в том, что объект не запущен. В таком случае
будет выброшено исключение MK_E_UNAVAILABLE;
вы можете использовать метод getCode для проверки кода исключения.
&reftitle.changelog;
&Version;&Description;8.0.0codepage теперь допускает значение null.
&reftitle.notes;
Использование com_get_active_object в контексте веб-сервера -
это не самая умная идея. Большинство приложений COM/OLE спроектированы так,
что не могут работать одновременно с несколькими пользователями, даже (или особенно)
Microsoft Office. Больше полезной информации читайте в Considerations for Server-Side
Automation of Office.