我正在为Excel XP开发一个C#加载项,我需要使用自己的对话框处理文件打开和保存事件。我设法通过(基本上)在Excel应用程序对象上处理WorkbookBeforeSave事件并取消默认行为进行保存。有一个WorkbookOpen事件,但是在打开文档后触发,而不是在用户单击“打开”按钮或按下Ctrl-O时触发。
这是一个类似的问题,虽然该解决方案适用于更高版本的办公室,但不适用于我:Replacing Word's Open File Dialog in a COM Add-in
我不能简单地自定义正常的文件打开对话框 - 我需要完全替换它。有什么想法吗?
答案 0 :(得分:0)
一种有点hacky的方法是从Excel的com接口(excel10的dispID 0x614)中沉入WindowActivate事件。然后跟踪最后一个hwnd并观察它何时发生变化&如果是excel doc窗口(我想你可以使用spy ++找出excel窗口名称)