在 MS word VSTO 添加中的功能区中单击任何选项卡上的事件

Get event on any tab click in ribbon in MS word VSTO add in

我在 visual studio 中使用 VSTO 插件为 MS Office 创建了一个 MsWordAddin 2010.Till 现在我在功能区和自定义任务窗格中添加了一个新选项卡。 现在我想要的是当用户 select 功能区上的任何选项卡时获得一个事件,这样我就可以评估用户在此事件上执行的操作,例如用户 select 页面布局选项卡并将页面方向从水平更改为横向。

我找到了 SelectionChange,BeforeRightClick,BeforeDoubleClick 文档事件,但它们不是我想要的。

是否有任何方法可以在 MS Word 中获取事件或任何其他解决方法来评估这种情况?


我想像RibbonHero一样评价 希望这能很好地解决我的问题。

不,Fluent UI(又名 Ribbon UI)和 Word 对象模型都不为此提供任何事件。如果您的加载项控件位于特定选项卡上,您可以考虑处理应在显示选项卡时触发的回调。

so i can evaluate what user has performed on this event e.g. user select Page layout tab and change Page orientation from horizontal to landscape.

相反,我建议处理 Document's events.

尝试使用 MSAA ..您可以获得示例代码 https://code.msdn.microsoft.com/CSOfficeRibbonAccessibility-cd7fe67f#content

我已经实现了这个并且发现非常有用。