Публикация

Обращение к свойствам и методам COM-объектов

Иногда возникает необходимость обращения к свойствам или методам определенных библиотек.
В моем примере мне необходимо было узнать, каким образом установить в скрипте значение для темы (Themes) при просмотре графиков.

1

Для этого пришлось немного узнать о возможностях обращения к COM (Component Object Model)-объектам (взаимодействующим компонентам).
COM-объекты находятся в файлах типа dll, exe или ocx. Чтобы источник COM-объектов успешно функционировал, он должен быть зарегистрирован на компьютере. Суть регистрации заключается в том, что информация о COM-объекте заносится в системный реестр. После регистрации источник COM-объектов готов к работе.
Для того чтобы посмотреть «содержимое» такого объекта можно использовать среду Visual Basic, которую можно вызвать через офисные средства (в случае ее отсутствия, Вы можете установить как дополнительный компонент через установку/удаление программ).
К примеру, в Microsoft Outlook 2007 среду можно вызвать через комбинацию клавиш Alt+F11 (в офисе версии 2010 - аналогично).
В открывшемся окне необходимо через меню инструментов вызвать окно связей (Tools --> References):

1

В окне выбора необходимо через кнопку «Browse» вызвать окно выбора объекта:

1

Выбрав необходимый тип COM-овского объекта, отправляемся на его поиски:

1

В моем примере за графики отвечает ActiveX Control - TeeChart8.ocx, который находится в папке Bin с установленным Terrasoft’ом:

1

После выбора библиотека отобразится в списке связей:

1

Далее необходимо открыть обозреватель объектов через меню View --> Object Browser, или нажать на клавишу F2:

1

Теперь в обозревателе выбираем необходимую библиотеку из выпадающего списка:

1

Затем воспользуемся поиском (в моем случае ввожу в строке Themes) и обращаем внимание на возможные действия:

1

Для решения моего вопроса подходит функция SetTheme, пример использования которой также предлагается в обозревателе.

Надеюсь, данная информация будет полезной.

Нравится

Поделиться

1 комментарий

Спасибо, Игорь, очень полезная информация

Показать все комментарии