Моя надстройка Excel
(надстройка XLL, назовите ее MyAddIn
) построена на C #, ExcelDNA, NetOffice, VS2010. У клиента есть еще одно дополнение (назовем его B
), я думаю, оно написано на VBA.
Клиент сообщает, что B
отлично работает без MyAddIn
. После установки MyAddIn
B
выдает ошибку:
Код ошибки: 406 Сообщение об ошибке: немодальные формы не могут отображаться в этом ведущем приложении из ActiveX DLL, элемента управления ActiveX или страницы свойств.
Я видел этот ресурс Microsoft , но я не хочу просто сказать клиенту, что надстройка B
нуждается в изменении. Я хочу что-то сделать, чтобы избежать этого со своей стороны.
Вот шаги, описанные для решения проблемы:
Excel
. MyAddin
установлен, он делает запись в реестре для Microsoft Excel
. Excel
, поэтому надстройка B
не запускается, Excel
работает нормально, MyAddIn
работает нормально. B
выдается ошибка 406, показанная выше. B
; отключение MyAddIn
- это обходной путь. B
, мы видим, что MyAddIn
загружается сначала перед надстройкой B
, а затем возникает ошибка 406. MyAddIn
, эта ошибка больше не возникает, и все работает нормально. B
всегда открывалась перед MyAddin
.
Excel
, что означает, что надстройка B
будет всегда открываться, даже когда мы запускаем только Excel
. Это нежелательно, поскольку надстройка B
не может позволить пользователям работать со статическими данными, поскольку надстройка B
продолжает обновляться в реальном времени. По этой причине надстройка B
не делает запись в настройках реестра. Так что изменения в реестре - это не вариант. Мы не всегда можем открыть надстройку B
, когда открыт Excel
.