У нас есть расширение за кулисами, которое интегрируется с 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}");
}