我们有一个backstage extension表示integrates with the TabSave
idMso(文件->另存为)。
我们遇到的问题是,当我从后台单击按钮时-我不知道如何关闭后台视图。
我想出的最好的解决方案不是很健壮,所以我希望有人可以有更好的方法来解决这个问题,因为关闭后台视图似乎很直观。也许我缺少了一些东西,但是一旦我的按钮被触发,我就无法退出后台视图。
功能区XML
<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}");
}
最佳答案
看来解决方法是not publicized well-按钮上有一个标志(isDefinitive
),一旦单击按钮,该标志会自动关闭后台视图-而不是在操作完成时关闭。
<button id="btnCustomAction"
style="large"
label="Custom Action"
imageMso="HappyFace"
isDefinitive="true"
onAction="btnAction"/>
From MSDN:
关闭Backstage视图并返回到当前工作簿
通过在控件中设置控件的
isDefinitive
属性来发生自定义UI XML。
关于c# - 以编程方式退出Backstage View ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23120528/