替换 COM 加载项中 Word 的“打开文件”对话框
我正在编写一个 Word COM 插件来替换 Open & 插件。用我自己的保存对话框。
对于保存对话框,我正在处理应用程序事件中的 documentBeforeSave 事件。这很好用。
对于打开的对话框,没有这样的事件,因此我当前正在处理“打开...”菜单项的 onClick,取消默认处理。如果用户确实使用此菜单项,则可以正常工作,但如果用户按 CTRL-O,他们仍然会得到原始对话框。
有没有更好的方法来连接这个对话框?如果没有,有没有办法优雅地处理这个按键,或者我应该解决键盘挂钩?
注意:该加载项最终应该可以在 Office 2003、2007 和 2010 上运行,但在不同的目标上使用不同的代码路径当然是完全没问题的。我对任何版本的任何解决方案都感兴趣。
I'm writing a Word COM Add-in that replaces the Open & Save dialogs with my own.
For the save dialog, I'm handling the documentBeforeSave event from the application events. This works fine.
For the open dialog, there is no such event, so I'm currently handling the onClick of the Open... menu item, canceling the default handling. This works ok if the user indeed uses this menu item, but if the user presses CTRL-O in stead they still get the original dialog.
Is there a better way to hook into this dialog? And if there isn't, is there a way to elegantly handle this keypress, or should I resolve to keyboard hooks?
Note: The add-in should eventually work on Office 2003, 2007 and 2010, but using different code-paths on different targets is of course perfectly fine. I am interested in any solutions on any version.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在 Word 2007+ 中,实现起来极其简单。只需通过功能区 XML 重新调整 FileOpen 命令的用途即可。
doOpen 方法有两个参数,第二个参数是允许您取消事件的输入/输出参数。
对于以前版本的 Office,我从未实现过完全无懈可击的解决方案。
In Word 2007+, this turns out to be incredibly simple to implement. Simply repurpose the FileOpen command through the ribbon XML
The doOpen method then has two parameters, the second being an in/out parameter allowing you to cancel the event.
For previous version of Office, I've never implemented a fully bulletproof solution.