У меня нет ответа, но вот несколько вещей, которые вы можете попробовать.
Вы можете сказать, с каким типом Addin вы имеете дело, выполнив File |Выберите и выберите вкладку Addins.
Если событие происходит, как только вы загрузите Addin B
, это, вероятно, означает, что вы вызываете немодальное диалоговое окно, как оно указано, но есть несколько других вещей, которые могут вызвать подобные ошибки.
Исходя из вашего описания, может показаться, что ошибка может быть либо диалоговым окном в вашем надстройке, либо в другом надстройке, и вызывается как побочный эффект изменения состояния, сделанного вашим надстройкой.
Чтобы докопаться до сути, нужно подключить отладчик.Вы можете сделать это, сделав Excel стартовым проектом или прикрепив его позже.Первое, вероятно, проще в этом случае.
В Visual Studio используйте Project |Свойства |Отладьте , выберите Запустите внешнюю программу и введите полный путь к Excel.
Загрузите Addin B
вручную, чтобы выдать ошибку
Вломитесь в отладчик и изучите стек вызовов.
Это часто, но не всегда, дает хорошее представление о том, где проблема, но этовсегда первый шаг.Если она не дает вам полезной информации (информация о стеке часто полностью теряется при переходах между надстройками), вы можете захотеть поставить некоторые точки останова в своих проектах в любых событиях, которые вы обрабатываете.Даже это не всегда работает надежно, но оно того стоит.
Если бы мне пришлось угадывать, я бы сказал, что, вероятно, в вашей надстройке есть обработчики событий, которые вызывают проблему, и выможет потребоваться сделать что-то вроде замены .Show
на `.ShowDialog 'или отложить обработку формы до тех пор, пока не будет обработан обработчик событий, но это только предположение.