Как Надстройка снова загрузить n для каждого экземпляра приложения? - PullRequest
0 голосов
/ 09 февраля 2010

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

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

1 Ответ

0 голосов
/ 09 февраля 2010

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

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

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

...