我是编程新手,但我尝试使用Excel色带进行实验。我正在使用自定义UI编辑器。我想使用insertBefore和insertAfter控件来重新排列我的自定义按钮。如果我没有在按钮级别使用唯一的命名空间和insertAfterQ / insertBeforeQ按钮的顺序不会改变,但是,如果我使用它我无法看到相关的宏(可能是由于我的命名空间),因此onAction将不会做任何事情单击按钮。我尝试了各种idQ组合,但我不能让它工作。下面的示例只是正确执行按钮2,它不在我指定的命名空间中。 一个简单的例子:
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" xmlns:x="MyNameSpace">
<ribbon>
<tabs>
<tab idQ="x:customTab" label="My Order Form" insertAfterMso="TabHome">
<group idQ="x:customGroup" label="My Order Form Tools">
<button idQ="x:customButton1" label="Clear" size="large" onAction="DeleteOrder" image="deleteorder" />
<button id="customButton2" label="Print" size="large" onAction="ResetOrder" image="resetorder" />
<button idQ="x:customButton3" label="Home" size="large" onAction="NewOrder" insertBeforeQ="x:customButton1" image="neworder" />
</group>
</tab>
</tabs>
</ribbon>
</customUI>
有没有办法让命名空间中的onAction工作?或者还有其他方法吗?非常感谢,TS
答案 0 :(得分:0)
你真的需要命名空间吗?
如果要重新排列自己的控件,只需在xml:
中切换位置即可<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
<ribbon>
<tabs>
<tab id="customTab" label="My Order Form" insertAfterMso="TabHome">
<group id="customGroup" label="My Order Form Tools">
<button id="customButton3" label="Home" size="large" onAction="NewOrder" image="neworder" />
<button id="customButton1" label="Clear" size="large" onAction="DeleteOrder" image="deleteorder" />
<button id="customButton2" label="Print" size="large" onAction="ResetOrder" image="resetorder" />
</group>
</tab>
</tabs>
</ribbon>
</customUI>
如果您想将控件相对于内置控件放置,请使用insertBeforeMso
或insertAfterMso
,就像在"customTab"
中一样。据我所知,如果将来自customUI-xml的控件组合到不同的文件中,则只需要使用命名空间和idQ-id。