2011-09-27 47 views
0

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

这里有一个类似的问题,但解决的办法是更高版本的办公室,也不会为我工作:Replacing Word's Open File Dialog in a COM Add-in

我不能简单地定制正常打开文件对话框 - 我需要完全更换。有任何想法吗?

回答

0

一个有点不好的方法是从Excel的com接口中下载WindowActivate事件(对于excel10来说,dispID 0x614)。然后跟踪最后一个hwnd并观察它何时发生变化&如果它是excel doc窗口(我认为你可以使用spy ++查找excel窗口名称)