创建新的VSTO加载项选项卡而不是重命名

wog*_*les 3 vsto

我们有一个MS word addin,它当前使用并重命名Word中的加载项选项卡(到i-report).这样做的问题是,如果客户端安装了其他插件,其插件中的色带也会显示在i-report选项卡下.

是否有一种简单的方法可以专门使用新选项卡而不是重命名加载项选项卡?

设计器中选项卡的代码如下所示:

        this.tabiReport = new Microsoft.Office.Tools.Ribbon.RibbonTab();
        this.tabiReport.SuspendLayout();

        this.tabiReport.ControlId.ControlIdType = Microsoft.Office.Tools.Ribbon.RibbonControlIdType.Office;
        this.tabiReport.Groups.Add(this.grpConnection);         
        resources.ApplyResources(this.tabiReport, "tabiReport");
        this.tabiReport.Name = "tabiReport";
Run Code Online (Sandbox Code Playgroud)

编辑:我认为这与功能区的Tabs集合的位置有关.我已经尝试将tabiReport的位置从默认更改为BeforeOfficeId和AfterOfficeId,但是在调试时我可以在启动时看到插件加载,但功能区上没有选项卡.

我也尝试使用AfterOfficeId,然后使用"TabView"填充OfficeId字段,尝试在视图选项卡后显示它,但它仍然没有显示.有任何想法吗?

编辑2:好的我已经弄清楚应该如何完成:通过在选项卡上将ControlIdType属性设置为自定义,但我仍然有相同的问题,它没有显示.

wog*_*les 6

解决方法是将ControlIdType设置为自定义.

如果position属性设置为Default,则选项卡将显示在列表的最后.

要更改选项卡的位置,可以将PositionType更改为BeforeOfficeId(或AfterOfficeId),并使用要在其之前或之后显示的选项卡的Id填充OfficeId(例如TabView).

可以在此处找到办公室标签ID的完整列表

  • 是的,我最终还是找到了这个解决方案.确保在设计器中选择了RibbonTab,展开"ControlID"属性,然后将"ControlIDType"从Office更改为"自定义".完全疯狂......这只是VS2010的糟糕设计.将每个Addin放在它自己的Tab中应该是标准的. (3认同)