using System;
using System.Windows.Forms;
using Excel = Microsoft.Office.Interop.Excel;
using Office = Microsoft.Office.Core;
namespace ExcelVSTO
{
public partial class ThisAddIn
{
private Office.CommandBarButton myCommandBarButton;
private void ThisAddIn_Startup(object sender, EventArgs e)
{
// 获取应用程序对象
Excel.Application application = this.Application;
// 获取主菜单栏对象
Office.CommandBar mainMenuBar = application.CommandBars["Worksheet Menu Bar"];
// 创建一个弹出菜单
Office.CommandBarPopup myPopup = (Office.CommandBarPopup)mainMenuBar.Controls.Add(
Type: Office.MsoControlType.msoControlPopup,
Before: 1, // 可根据需要调整菜单项的位置
Temporary: true // 设置为临时菜单,不保存到自定义的工作簿模板中
);
myPopup.Caption = "自定义菜单(&Z)"; // 菜单名称
(&Z) 快捷键
// 创建一个菜单项
myCommandBarButton = (Office.CommandBarButton)myPopup.Controls.Add(
Type: Office.MsoControlType.msoControlButton,
Before: 1 // 可根据需要调整菜单项的位置
);
myCommandBarButton.Caption = "自定义命令"; // 菜单项名称
myCommandBarButton.Click += new Office._CommandBarButtonEvents_ClickEventHandler(myCommandBarButton_Click);
}
private void myCommandBarButton_Click(Office.CommandBarButton cmdBarBtn, ref bool cancel)
{
// 点击菜单项时执行的逻辑代码
MessageBox.Show("自定义命令被点击了!");
}
private void ThisAddIn_Shutdown(object sender, EventArgs e)
{
// 清理资源
myCommandBarButton.Click -= new Office._CommandBarButtonEvents_ClickEventHandler(myCommandBarButton_Click);
myCommandBarButton = null;
}
}
}
myPopup.Caption = "自定义菜单(&Z)"; // 直接加上红色的快捷键就出来了