Word:打开第二个文档不会再次触发 Ribbon_Load

Word: Opening 2nd document doesn't trigger again the Ribbon_Load

我实现了一个功能区,它的按钮是 enabled/disabled 根据文档文件路径。 问题是当我打开第二个文档时,Ribbon_Load 不会再次被调用并且按钮具有第一个打开文档的值。 为什么会发生这种情况以及如何让 Ribbon_Load 每次调用新项目时都被调用?

谢谢

Ribbon_Load 仅在 add-in 首次加载到 Office 应用程序时调用。当您打开其他文件时,add-in 不会再次加载,即使文档出现在单独的 window 中也是如此。所以Ribbon_Load没有再被调用。

您可以使用 DocumentOpen 事件触发应执行的功能区回调。 (具体如何操作取决于您使用的是 Ribbon Designer 还是 Ribbon XML。)请注意,如果您希望每个文档 window 反映 Ribbon 中的不同设置,您可能还需要工作附加事件,例如 NewDocumentDocumentCloseWindowActivate.

您可能会发现 MSDN 上的以下文章很有用,即使它是为自定义任务窗格编写的,管理多个功能区所需的逻辑也几乎相同:在 Multiple Word and InfoPath documents.[=16 中管理任务窗格=]