0

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

这是一个类似的问题,尽管该解决方案适用于更高版本的 office,并且对我不起作用:Replacing Word's Open File Dialog in a COM Add-in

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

4

1 回答 1

0

一种有点老套的方法是从 Excel 的 com 界面(对于 excel10 的 dispID 0x614)接收 WindowActivate 事件。然后跟踪最后一个 hwnd 并注意它何时更改以及是否是 excel doc 窗口(我认为您可以使用 spy++ 找出 excel 窗口名称)

于 2011-10-01T16:33:25.957 回答