我在Visual Studio 2008中创建了一个Excel工作簿解决方案。当我构建解决方案时,我得到一个.XLS文件和一个.DLL(自定义程序集)。
我现在可以通过双击.XLS来启动Excel工作表,并且我的工作表可以使用我所有的C#代码。
但是在自定义dll的演员阵容中无法使用。我再次启动Excel工作簿和Excel弹出消息“无法找到或无法加载自定义程序集。 您仍然可以编辑和保存文档。请联系您的管理员或本文档的主人以获得进一步的帮助。“有详细信息和确定按钮。如果我按下确定按钮excel工作簿仍在工作。如何自动关闭或关闭此工作簿?
由于
答案 0 :(得分:0)
答案 1 :(得分:0)
你无法可靠地做到这一点。您需要能够运行代码来关闭工作簿,如果找不到包含代码的DLL,则无法从那里运行代码来关闭工作簿。您可能能够将VBA Workbook_Open处理程序入侵到同一工作簿中,以便以某种方式检查托管代码的存在,并尝试在未正确加载的情况下关闭工作簿,但这假设您可以运行VBA ,Excel 2007及更高版本的默认设置将阻止(即使VBA已签名)。我也不知道哪个处理程序会在托管代码和VBA存在的情况下首先运行。