使用COM加载项替换Excel XP中的“打开文件”对话框

时间:2011-09-27 11:34:10

标签: com ms-office excel-addins

我正在为Excel XP开发一个C#加载项,我需要使用自己的对话框处理文件打开和保存事件。我设法通过(基本上)在Excel应用程序对象上处理WorkbookBeforeSave事件并取消默认行为进行保存。有一个WorkbookOpen事件,但是在打开文档后触发,而不是在用户单击“打开”按钮或按下Ctrl-O时触发。

这是一个类似的问题,虽然该解决方案适用于更高版本的办公室,但不适用于我:Replacing Word's Open File Dialog in a COM Add-in

我不能简单地自定义正常的文件打开对话框 - 我需要完全替换它。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

一种有点hacky的方法是从Excel的com接口(excel10的dispID 0x614)中沉入WindowActivate事件。然后跟踪最后一个hwnd并观察它何时发生变化&如果是excel doc窗口(我想你可以使用spy ++找出excel窗口名称)