我一直在使用扩展IDTExtensibility2接口,在Visual Studio中开发了一个共享的加载项为Excel 2008Excel加载项 - OnDisconnection/OnBeginShutdown不叫注销
它在功能上基本相当。打开工作簿时,它将存储在打开的工作簿列表中,当它被关闭时,插件会创建一个新的文本文件,然后向该文件写出一些XML,然后该文件被另一个进程读取,然后该进程将反序列化XML 。
的插件工作在正常操作下 - 因此,如果用户打开和关闭文件,然后将插件做什么应该,如果他们退出Excel与打开的工作簿,然后它做什么,它应该。
问题是,当用户使用打开的工作簿打开Excel并执行注销时。这两种方法:OnDisconnection和OnBeginShutdown似乎根本没有被调用。
我做了两件事情来测试:
我创建了写日志文件时,这两种方法被称为一个TextWriterTraceListener会。当Excel正常退出时,它们被击中并且信息被记录在日志文件中,但是当用户注销时,日志文件中没有任何内容。
这两个方法都使用File.CreateText(filename)我创建了一个空白文件。当用户正常退出Excel时,会创建这些文件,但再次通过注销关闭Excel时,不会创建这些文件。
有没有人有任何想法我可以解决这个问题?我需要在用户注销他们的机器...
,在四围的方式,但作为一个测试,我改变了它,这样它会登录到我的TextWriterTraceListener会时它被称为。当Excel正常退出时,调试消息将写入日志中,但是,通过用户注销关闭Excel时,调试消息不会写入日志文件 – kzhen 2010-12-07 16:27:01