在选项卡上使用 idQ 时,Word 功能区似乎忽略了 insertAfterMso
Word ribbon appears to ignore insertAfterMso when using idQ on tab
我有一个功能区需要放在 Word 中的 HomeTab(或任何其他内置选项卡)之后。但是 Word 似乎忽略了 insertAfterMso
(和 insertBeforeMso
)属性。
我也尝试使用 insertAfterQ
/insertBeforeQ
,但我无法让它们与内置选项卡一起使用。
色带片段 XML:
<customUI
onLoad="Ribbon_Load" xmlns="http://schemas.microsoft.com/office/2006/01/customui"
xmlns:cstm1="myns"
xmlns:cstm2="myns2">
<ribbon>
<tabs>
<tab
idQ="cstm1:MyCustomTab"
label="My Custom Tab"
getVisible="MyCustomTab_getVisible"
insertAfterMso="HomeTab">
</tabs>
</ribbon>
</customUI>
我怀疑它可能与 idQ
属性的使用有关,但我需要该功能,所以我无法删除它:-/
请注意,该选项卡显示在 Office 功能区上,但它位于功能区的最右端,就像没有添加 insertAfterMso 属性一样。
功能区 XML 中的 customUI
元素没有此类属性。相反,您需要为自定义选项卡元素指定 insertAfterMso
属性:
<customUI onLoad="Ribbon_Load"
xmlns="http://schemas.microsoft.com/office/2006/01/customui"
xmlns:cstm1="myns"
xmlns:cstm2="myns2">
<ribbon>
<tabs>
<tab id="myCustomTab"
insertAfterMso="HomeTab"
label="My Custom Tab"
getVisible="MyCustomTab_getVisible">
</tabs>
</ribbon>
</customUI>
默认情况下,如果 VSTO 加载项尝试操作 Microsoft Office 用户界面 (UI) 但失败,则不会显示任何错误消息。但是,您可以将 Microsoft Office 应用程序配置为显示与 UI 相关的错误消息。您可以使用这些消息来帮助确定自定义功能区未出现的原因,或者显示功能区但未显示控件的原因。参见 How to: Show Add-in user interface errors。
使用 idQ
属性而不是常规 id
属性来标识选项卡的原因是当多个 VSTO 插件需要修改特定选项卡的内容时。
事实证明,如果你想控制选项卡的位置,通过使用insertAfterMso
或insertBeforeMso
属性,你需要在all[=28中这样做=] AddIns 修改目标选项卡 - 仅将属性添加到其中一个 AddIns not 在所有情况下都不够。
我怀疑如果您使用 insertAfterQ
和 insertBeforeQ
也是如此。
AddIn 加载顺序会影响您是否遇到这种情况。
所以我的标记最初是正确的 - 但它被我的辅助 VSTO 加载项“破坏”了。
我有一个功能区需要放在 Word 中的 HomeTab(或任何其他内置选项卡)之后。但是 Word 似乎忽略了 insertAfterMso
(和 insertBeforeMso
)属性。
我也尝试使用 insertAfterQ
/insertBeforeQ
,但我无法让它们与内置选项卡一起使用。
色带片段 XML:
<customUI
onLoad="Ribbon_Load" xmlns="http://schemas.microsoft.com/office/2006/01/customui"
xmlns:cstm1="myns"
xmlns:cstm2="myns2">
<ribbon>
<tabs>
<tab
idQ="cstm1:MyCustomTab"
label="My Custom Tab"
getVisible="MyCustomTab_getVisible"
insertAfterMso="HomeTab">
</tabs>
</ribbon>
</customUI>
我怀疑它可能与 idQ
属性的使用有关,但我需要该功能,所以我无法删除它:-/
请注意,该选项卡显示在 Office 功能区上,但它位于功能区的最右端,就像没有添加 insertAfterMso 属性一样。
功能区 XML 中的 customUI
元素没有此类属性。相反,您需要为自定义选项卡元素指定 insertAfterMso
属性:
<customUI onLoad="Ribbon_Load"
xmlns="http://schemas.microsoft.com/office/2006/01/customui"
xmlns:cstm1="myns"
xmlns:cstm2="myns2">
<ribbon>
<tabs>
<tab id="myCustomTab"
insertAfterMso="HomeTab"
label="My Custom Tab"
getVisible="MyCustomTab_getVisible">
</tabs>
</ribbon>
</customUI>
默认情况下,如果 VSTO 加载项尝试操作 Microsoft Office 用户界面 (UI) 但失败,则不会显示任何错误消息。但是,您可以将 Microsoft Office 应用程序配置为显示与 UI 相关的错误消息。您可以使用这些消息来帮助确定自定义功能区未出现的原因,或者显示功能区但未显示控件的原因。参见 How to: Show Add-in user interface errors。
使用 idQ
属性而不是常规 id
属性来标识选项卡的原因是当多个 VSTO 插件需要修改特定选项卡的内容时。
事实证明,如果你想控制选项卡的位置,通过使用insertAfterMso
或insertBeforeMso
属性,你需要在all[=28中这样做=] AddIns 修改目标选项卡 - 仅将属性添加到其中一个 AddIns not 在所有情况下都不够。
我怀疑如果您使用 insertAfterQ
和 insertBeforeQ
也是如此。
AddIn 加载顺序会影响您是否遇到这种情况。
所以我的标记最初是正确的 - 但它被我的辅助 VSTO 加载项“破坏”了。