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