как снова загрузить надстройку n снова для каждого экземпляра приложения?

У меня есть один qus. Я создал одну общую надстройку в c # .net. Эта надстройка работает нормально. Теперь я хочу, чтобы эта надстройка снова загружалась при открытии любого офисного приложения. Например, когда я открываю любой документ MS Word, для этого загружается надстройка, и если после этого я открыл другой документ MS Word, не закрывая ранее открытый документ, надстройка снова загружается для недавно открытого документа MS Word. Но когда я открыл MS Word в первый раз, надстройка загружена, и если я снова открыл MS Word, но надстройка уже загружена.

Мое требование такое - моя надстройка работает в фоновом режиме, это ее работа только для записи времени открытия и закрытия текстового документа и того, сколько времени потрачено на этот текстовый документ, а также имя этого документа. Но когда я открыл однословный документ, для этого загружается надстройка, и если снова открывается новый текстовый документ, то из-за того, что ранее открытый документ надстройка не загружается для этого документа, помните, что приватно открытый документ не закрывается. но если я закрыл ранее открытый документ, то для нового документа загружается надстройка.


person Ashwin Upadhyay    schedule 09.02.2010    source источник


Ответы (1)


Надстройка распространяется на все приложение и не может быть загружена / выгружена для каждого документа. Чтобы поймать открытие / закрытие документа, вы можете подключиться к соответствующему событию из класса Application

РЕДАКТИРОВАТЬ: я не использовал С #. Но вот что я предлагаю (исходя из моего понимания VBA).
Вам нужно будет объявить и сохранить переменную экземпляра класса Application. Подпишитесь на такие события, как DocumentBeforeClose и DocumentOpen, и имейте соответствующую структуру для хранения полного пути документа и времени открытия / закрытия в соответствии с событиями.

Достаточно ли в нем информации о том, что вы пытаетесь сделать?

person shahkalpeshp    schedule 09.02.2010