2012-08-01 58 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