我正在编写一个Word COM加载项,取代了Open&使用我自己的保存对话框。
对于保存对话框,我正在处理来自应用程序事件的documentBeforeSave事件。这很好用。
对于打开的对话框,没有这样的事件,所以我正在处理Open ...菜单项的onClick,取消默认处理。如果用户确实使用此菜单项,这可以正常工作,但如果用户按下CTRL-O,他们仍然可以获得原始对话框。
有没有更好的方法来加入这个对话框?如果没有,有没有办法优雅地处理这个按键,或者我应该解决键盘挂钩?
注意:加载项应最终适用于Office 2003,2007和2010,但在不同目标上使用不同的代码路径当然是完全正常的。我对任何版本的任何解决方案感兴趣。
答案 0 :(得分:1)
在Word 2007+中,实现起来非常简单。只需通过功能区XML
重新调整FileOpen命令的用途<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<commands>
<command idMso="FileOpen" onAction="doOpen" />
</commands>
...
doOpen方法有两个参数,第二个参数是允许你取消事件的输入/输出参数。
对于以前版本的Office,我从未实现完全无懈可击的解决方案。