单词:打开第二个文档不再触发Ribbon_Load

时间:2018-03-23 12:55:10

标签: file ms-word vsto ribbon

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

谢谢

1 个答案:

答案 0 :(得分:1)

仅当加载项首次加载到Office应用程序时才会调用

Ribbon_Load。当您打开其他文件时,即使文档显示在单独的窗口中,也不会再次加载该加载项。所以不再调用Ribbon_Load。

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

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