我们有backstage extension integrates with the TabSave
idMso(文件 - > SaveAs )。
我们遇到的问题是,当我从后台点击按钮时 - 我不知道如何关闭后台视图。
我提出的最佳解决方案并不是非常强大,所以我希望有人会有更好的方法来解决这个问题,因为关闭后台视图似乎相当直观。也许我错过了一些东西 - 但是一旦我的按钮开火,我就无法退出后台视图。
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
<backstage>
<tab idMso="TabSave">
<firstColumn>
<taskFormGroup idMso="SaveGroup">
<category idMso="Save">
<task id="customTask" label="Custom Task" imageMso="HappyFace">
<group id="customGroup1" label="Custom Group">
<topItems>
<labelControl id="lblInfo" label="Click to trigger custom action."/>
<button id="btnCustomAction" style="large" label="Custom Action" imageMso="HappyFace" onAction="btnAction"/>
</topItems>
</group>
</task>
</category>
</taskFormGroup>
</firstColumn>
</tab>
</backstage>
</customUI>
public void btnAction(Office.IRibbonControl control)
{
Excel.Window window = control.Context;
MessageBox.Show("custom action triggered");
window.Application.SendKeys("{ESCAPE}");
}
答案 0 :(得分:4)
看起来解决方案是not publicized well - 按钮上有一个标志( isDefinitive
),一旦点击按钮就会自动关闭后台视图 - 而不是当行动完成时
<button id="btnCustomAction"
style="large"
label="Custom Action"
imageMso="HappyFace"
isDefinitive="true"
onAction="btnAction"/>
关闭Backstage视图并返回当前工作簿 通过设置控件的
isDefinitive
属性来实现 自定义UI XML。
答案 1 :(得分:0)
怎么样:
Microsoft.Office.Core.IRibbonUI.ActivateTab("SomeControlIdOfARibbonTab")
问候,Jörg