2012-08-01 67 views
4

我正在寻找一种方式来重写撤销(按Ctrlž)/重做(按Ctrlž)在Word 2010中的命令(C#+ VSTO) 。 这可能吗?字VSTO覆盖CTRL + Z/Ctrl + Y

我设法捕获复制/粘贴命令,但似乎撤销/重做不是RibbonUI中的命令,如复制/粘贴。

+0

@udondan - 照顾你如何捕获复制/粘贴事件? – mlg 2015-07-28 15:25:33

回答

6

如果你想控制Undo/Redo发生什么,请检查Microsoft.Office.Interop.Word.UndoRecord。这里是the thread我学会了正确使用它!

如果你想抓住实际的击键,那么你在Windows API的土地。所以一般来说,谷歌的条款与此有关。但是message-hooks-in-add-ins可能对您有用。

+0

嗨,感谢您的回答,但我不明白这个链接可以如何帮助我。 此链接仅显示如何将自定义记录添加到撤销/重做下拉列表中。 我想要的是抓住Ctrl + Y/CTRL + Z。 UndoRecord类中没有事件。 – Geotinc 2012-08-02 06:13:12

+1

我很惊讶,没有其他方式来做到这一点。我认为使用全局钩子意味着使用重型火炮。 – Geotinc 2012-08-02 14:19:53

+0

这是我使用的VSTO键盘挂钩:http://stackoverflow.com/a/10257266/495455 – 2016-12-05 01:14:23