我正在尝试使两个单词加载项组出现在同一个标签(工具)中,但它们都创建了唯一的标签(有两个“工具”标签)。我saw this video但我使用的是可视设计器,而不是XML。
我可以通过某种方式编辑设计器代码以使其工作吗?
答案 0 :(得分:4)
Office 2007
创建功能区
创建一个类库项目
使用功能区自定义
将以下代码添加到项目的ThisAddin,ThisWorkbook或ThisDocument类中。此代码覆盖CreateRibbonExtensibilityObject方法,并将功能区返回到Office应用程序。
protected override Microsoft.Office.Core.IRibbonExtensibility
CreateRibbonExtensibilityObject()
{
return new Microsoft.Office.Tools.Ribbon.RibbonManager(
new Microsoft.Office.Tools.Ribbon.OfficeRibbon[] { new
SharedRibbonLibrary.Ribbon1() });
}
向项目添加新类。接受默认名称“Class1.cs”。
使用以下内容替换Class1文件中的代码:
partial class ThisRibbonCollection : Microsoft.Office.Tools.Ribbon.RibbonReadOnlyCollection
{
internal SharedRibbonLibrary.Ribbon1 Ribbon1
{
get { return this.GetRibbon<SharedRibbonLibrary.Ribbon1>(); }
}
}
好的 - 你完成了!您现在可以访问功能区和您在代码中添加到功能区的按钮。让我们尝试处理消费项目中的事件。
处理按钮单击事件
将以下代码添加到项目的启动事件处理程序中。
Globals.Ribbons.Ribbon1.button1.Click += new EventHandler<Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs>(button1_Click);
将以下事件处理程序添加到项目中:
void button1_Click(object sender,
Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs e)
{
System.Windows.Forms.MessageBox.Show("I can handle events!");
}
运行项目。
Office应用程序打开后,单击“加载项”选项卡,然后单击按钮。 出现一条消息“我可以处理事件!”。
2010年的实施实际上增加了两个色带 - 每个插件一个。我相信该文章仅适用于不同Office产品(例如Word和Excel)中相同功能区的加载项,而不适用于两个Excel加载项。
我发现的唯一其他途径是第三方组件:http://www.add-in-express.com/creating-addins-blog/2012/11/05/excel-addin-shared-ribbon-tabs/