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) "; // 直接加上红色的快捷键就出来了

myCommandBarButton.Caption = "自定义命令";Temporary: true // 设置为临时菜单,不保存到自定义的工作簿模板中。myPopup.Caption = "自定义菜单";Before: 1, // 可根据需要调整菜单项的位置。Before: 1 // 可根据需要调整菜单项的位置。MessageBox.Show("自定义命令被点击了!// 点击菜单项时执行的逻辑代码。// 获取应用程序对象。// 获取主菜单栏对象。// 创建一个弹出菜单。// 创建一个菜单项。
在上一篇文章中,我介绍了Word的对象模型和一些基本开发技巧。为了更好的介绍Word插件开发,我为本文制作了一个Word书签的增强版,具体功能是让用户在Word中选择一段文本,为它添加书签并其标志为高亮,同时用户可以为这段书签写注释,以后当用户点击这个书签时,我就会显示注释。以下是我录制的视频介绍: 这个插件将包括以下几个技术点: 添加 右键 菜单 添加 右键 菜单 、控制 右键 菜单
Excel .Application app; private void ThisAddIn_Startup(object sender, System.EventArgs e) app = Globals.ThisAddIn.Application; Office.CommandBars bars = app.CommandBars; using System.Runtime.InteropServices; using System.Text; using Office = Microsoft .Office.Core; // TODO:.
1. 在 VSTO 项目中添加一个 Ribbon 控件。 2. 在 Ribbon 控件中添加一个 Context Menu 控件。 3. 在 Context Menu 控件中添加一个 Button 控件,并设置其 Label 属性为需要显示的 菜单 项名称。 4. 在 Button 控件的 Click 事件中编写需要执行的代码。 通过这种方式,可以在 右键 菜单 中添加自定义的 菜单 项,并在点击 菜单 项时执行相应的代码。 System.InvalidCastException:“无法将类型为“Microsoft.Office.Interop.Excel.ApplicationClass”的 COM 对象强制转换为接口类