我正在开发专门针对Excel XP的C#COM加载项。我需要显示自己的“另存为”对话框,而不是普通的Excel对话框。
我尝试处理applicationObject.WorkbookBeforeSave和ActiveWorkbook.BeforeSave事件并将'ref bool Cancel'参数设置为true,但Excel仍会弹出“另存为”对话框。在这些事件处理程序中保存工作簿没有任何区别。
如果我在“保存”按钮上处理Click事件,则不会弹出对话框,但是当用户按下Ctrl-S进行保存时不会显示该对话框。
有什么想法吗?
感谢。
答案 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