Принятие Вашей функции или переменной определяется в типичном "глобальном" (, см.: окно 'объем s), я очень предпочитаю:
if (window.a != null) {
a();
}
или даже следующее, если Вы проверяете на существование функции:
if (window.a) a();
Как сказал краушер, Office не вызывает каких-либо публичных событий, когда пользователь изменяет тему приложения Office 2007.
Самое простое, что вы могли бы сделать, - это опросить раздел реестра через регулярные промежутки времени, чтобы проверять, было ли изменение:
Office 2007: HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Common\Theme
Office 2010: HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Common\Theme
Где Тема - 1
для Синий , 2
для Серебряный и 3
для схемы Black .
В этой статье приводится код C #, который вы можете использовать и изменять: Настройка BackColor в соответствии с цветовой схемой Office 2007
В этой статье описывается, что настройки темы хранится в реестре, но не предоставляется через VSTO API.
Я никогда не видел такого события.
Мне известны только следующие события Word, см.