Как немедленно закрыть/закрыть книгу Excel VSTO, если настройка сборки не найдена

Я создаю решение для рабочей книги Excel в Visual Studio 2008. Когда я создаю решение, я получаю файл .XLS и .DLL (настраиваемая сборка).

Теперь я могу запустить лист Excel, просто дважды щелкнув .XLS, и мой лист работает со всем моим кодом C#.

Но в результате настройки dll недоступны. Я снова запускаю книгу Excel, и появляется всплывающее сообщение Excel «Не удалось найти или загрузить сборку настройки. Вы по-прежнему можете редактировать и сохранять документ. Обратитесь к администратору или автору этого документа для получения дополнительной помощи». есть Деталь и кнопка ОК. Если я нажму кнопку «ОК», книга excel все еще будет работать. Как автоматически закрыть или закрыть эту книгу?

Спасибо


person Community    schedule 20.07.2009    source источник


Ответы (2)



Вы не можете надежно сделать это. Вы должны иметь возможность запускать код, чтобы закрыть книгу, и если DLL, содержащая ваш код, не может быть найдена, вы не можете запустить оттуда код, чтобы закрыть книгу. Возможно, вы сможете взломать обработчик VBA Workbook_Open в той же книге, которая каким-то образом проверит наличие вашего управляемого кода и попытается закрыть книгу, если она не загрузилась правильно, но это предполагает, что вы можете запустить VBA , что предотвратили бы настройки по умолчанию в Excel 2007 и более поздних версиях (даже если бы VBA был подписан). Я также не знаю навскидку, какой обработчик запустится первым при наличии как управляемого кода, так и VBA.

person nitzmahone    schedule 25.12.2009