我继承了 Excel 2010 VSTO,它在自己的选项卡下有一个按钮来启动一些代码(我也是 VS 和 C# 的新手)。
我的问题是,当我部署它时,我会在“菜单命令”和“工具栏命令”组下出现额外的命令;这些属于具有 Excel 集成的其他应用程序,但不属于自己的选项卡/组。
我在解决方案中搜索了对菜单和工具栏的引用,但在任何地方都找不到它们。
功能区上我的选项卡是;
文件|首页 |插入 |页面布局|公式|数据|评论 |查看 |开发商 | Boyce Tools 2(我的插件)|其他添加1 |其他添加2 |其他添加3 |其他添加4 |
我已经为选项卡和组“Boyce Tools 2”指定了名称,所以只是不确定这些其他命令是如何到达那里的?是否有可能其他插件只是默认第一个选项卡不是 Office MS 的选项卡?
Ribbon.Designer.cs
namespace ReportFramework
{
partial class Ribbon : Microsoft.Office.Tools.Ribbon.RibbonBase
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
public Ribbon()
: base(Globals.Factory.GetRibbonFactory())
{
InitializeComponent();
}
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.tabBoyceTools = this.Factory.CreateRibbonTab();
this.grpBoyceCAL = this.Factory.CreateRibbonGroup();
this.btnGenerateCAL = this.Factory.CreateRibbonButton();
this.tabBoyceTools.SuspendLayout();
this.grpBoyceCAL.SuspendLayout();
//
// tabBoyceTools
//
this.tabBoyceTools.ControlId.ControlIdType = Microsoft.Office.Tools.Ribbon.RibbonControlIdType.Office;
this.tabBoyceTools.Groups.Add(this.grpBoyceCAL);
this.tabBoyceTools.Label = "Boyce Tools 2";
this.tabBoyceTools.Name = "tabBoyceTools";
//
// grpBoyceCAL
//
this.grpBoyceCAL.Items.Add(this.btnGenerateCAL);
this.grpBoyceCAL.Label = "CAL";
this.grpBoyceCAL.Name = "grpBoyceCAL";
//
// btnGenerateCAL
//
this.btnGenerateCAL.ControlSize = Microsoft.Office.Core.RibbonControlSize.RibbonControlSizeLarge;
this.btnGenerateCAL.Label = "Format CAL";
this.btnGenerateCAL.Name = "btnGenerateCAL";
this.btnGenerateCAL.OfficeImageId = "MacroPlay";
this.btnGenerateCAL.ShowImage = true;
this.btnGenerateCAL.Click += new Microsoft.Office.Tools.Ribbon.RibbonControlEventHandler(this.btnGenerateCAL_Click);
//
// Ribbon
//
this.Name = "Ribbon";
this.RibbonType = "Microsoft.Excel.Workbook";
this.Tabs.Add(this.tabBoyceTools);
this.Load += new Microsoft.Office.Tools.Ribbon.RibbonUIEventHandler(this.Ribbon_Load);
this.tabBoyceTools.ResumeLayout(false);
this.tabBoyceTools.PerformLayout();
this.grpBoyceCAL.ResumeLayout(false);
this.grpBoyceCAL.PerformLayout();
}
#endregion
internal Microsoft.Office.Tools.Ribbon.RibbonTab tabBoyceTools;
internal Microsoft.Office.Tools.Ribbon.RibbonGroup grpBoyceCAL;
internal Microsoft.Office.Tools.Ribbon.RibbonButton btnGenerateCAL;
}
partial class ThisRibbonCollection
{
internal Ribbon Ribbon
{
get { return this.GetRibbon<Ribbon>(); }
}
}
} '