通过代码自定义现成的功能区

时间:2019-10-27 09:53:35

标签: c# vsto visio

我正在开发Visio COM加载项。 我需要隐藏或禁用某些现成的功能区项目(并用自定义功能替换它们)。 我看到“导入/导出”功能区选项的选项,但在运行时找不到解决方法。 谁能提供类OR方法来获取OOTB功能区并对其进行操作?

谢谢

1 个答案:

答案 0 :(得分:0)

问题已解决: 我已经使用以下代码加载了自定义菜单:

internal void SetRibbonCustomUI()
{
    string customUI = = @"<customUI onLoad=""_MyRibbon.Load"" xmlns=""http://schemas.microsoft.com/office/2009/07/customui"">";
    customUI += @"<ribbon>";
    customUI += @"<tabs>";
    customUI += @"<tab idMso=""TabHome"">";
    customUI += @"<group idMso=""GroupEditing"" visible=""false""/>";
    customUI += @"</tab>";
    customUI += @"</tabs>";
    customUI += @"</ribbon>";
    customUI += @"</customUI>";

    this.Application.ActiveDocument.CustomUI = customUI;
}

此解决方案中的关键问题是方法的使用:_MyRibbon.Load 每当发生此事件时,都会加载自定义菜单。 唯一的问题是菜单是在文档之前加载的,因此,您需要保存并重新打开文档才能查看自定义...;)