如何在Excel XP COM加载项中覆盖“另存为”事件

时间:2011-09-23 10:42:05

标签: c# office-interop comaddin

我正在开发专门针对Excel XP的C#COM加载项。我需要显示自己的“另存为”对话框,而不是普通的Excel对话框。

我尝试处理applicationObject.WorkbookBeforeSave和ActiveWorkbook.BeforeSave事件并将'ref bool Cancel'参数设置为true,但Excel仍会弹出“另存为”对话框。在这些事件处理程序中保存工作簿没有任何区别。

如果我在“保存”按钮上处理Click事件,则不会弹出对话框,但是当用户按下Ctrl-S进行保存时不会显示该对话框。

有什么想法吗?

感谢。

1 个答案:

答案 0 :(得分:1)

我找到了解决方案。尝试在Excel XP中通过C#取消某些事件似乎存在问题。我发现使用此线程中的代码可以解决我的问题:http://www.tech-archive.net/Archive/Excel/microsoft.public.excel.programming/2009-10/msg04732.html

编辑:导致我的问题和解决方法的问题详见:http://support.microsoft.com/kb/830519