VSTO为Excel快捷菜单添加项
示例代码:
public partial class Sheet4 {
Office.CommandBar menuBar;
Office.CommandBarPopup menuCustom;
Office.CommandBarPopup menu1;
Office.CommandBarButton menu2;
Office.CommandBarButton menu1_1;
Office.CommandBarButton menu1_2;
Office.CommandBarButton menu1_3;
Office.CommandBar bar1;
Office.CommandBarPopup cmenu;
Office.CommandBarButton cmenu_1;
Office.CommandBarButton cmenu_2;
private void Sheet4_Startup(object sender, System.EventArgs e)
{
/普通的菜单///
//添加一级菜单
menuBar = this.Application.CommandBars.ActiveMenuBar;
menuCustom =
(Office.CommandBarPopup)menuBar.Controls.Add(
Office.MsoControlType.msoControlPopup,
missing, missing, missing, true);
menuCustom.Caption = “自定义菜单”;
//添加二级菜单
menu1 =
(Office.CommandBarPopup)menuCustom.Controls.Add(
Office.MsoControlType.msoControlPopup,
missing, missing, missing, true);
menu1.Caption = “菜单风格(&S)”;
//添加同级的菜单
menu2 =
(Office.CommandBarButton)menuCustom.Controls.Add(
Office.MsoControlType.msoControlButton,
missing, missing, missing, true);
menu2.Caption = “自定义按钮类型的菜单(&S)”;
//添加事件要设置Tag属性
menu2.Tag = “custom”;
//添加的事件处理函数
menu2.Click += new Microsoft.Office.Core._CommandBarButtonEvents_ClickEventHandler(menu2_Click);
//添加三级菜单
menu1_1 =
(Office.CommandBarButton)menu1.Controls.Add(
Office.MsoControlType.msoControlButton,
missing, missing, missing, true);
menu1_1.Caption = “Up”;
menu1_1.Tag = “MyUp”;
menu1_1.State = Office.MsoButtonState.msoButtonUp;
//添加事件
menu1_1.Click += new Microsoft.Office.Core._CommandBarButtonEvents_ClickEventHandler(menu1_1_Click);
menu1_2 =
(Office.CommandBarButton)menu1.Controls.Add(
Office.MsoControlType.msoControlButton,
missing, missing, missing, true);
menu1_2.Caption = “Down”;
menu1_2.Tag = “MyDown”;
menu1_2.State = Office.MsoButtonState.msoButtonDown;
//
menu1_2.Click += new Microsoft.Office.Core._CommandBarButtonEvents_ClickEventHandler(menu1_1_Click);
menu1_3 =
(Office.CommandBarButton)menu1.Controls.Add(
Office.MsoControlType.msoControlButton,
missing, missing, missing, true);
menu1_3.Caption = “Mixed”;
menu1_3.State = Office.MsoButtonState.msoButtonMixed;
//上下文菜单/
bar1 = Application.CommandBars["Cell"];
if (bar1 == null)
return;
//添加一级菜单
cmenu =
(Office.CommandBarPopup)bar1.Controls.Add(
Office.MsoControlType.msoControlPopup,
missing, missing, missing, true);
cmenu.Caption = “自定义菜单”;
//添加二级菜单
cmenu_1 =
(Office.CommandBarButton)cmenu.Controls.Add(
Office.MsoControlType.msoControlButton,
missing, missing, missing, true);
cmenu_1.Caption = “Up”;
cmenu_1.State = Office.MsoButtonState.msoButtonUp;
//添加二级菜单
cmenu_2 =
(Office.CommandBarButton)cmenu.Controls.Add(
Office.MsoControlType.msoControlButton,
missing, missing, missing, true);
cmenu_2.Caption = “Down”;
cmenu_2.State = Office.MsoButtonState.msoButtonDown;
}
void menu1_1_Click(Microsoft.Office.Core.CommandBarButton Ctrl, ref bool CancelDefault)
{
//throw new NotImplementedException();
if (Ctrl.Caption == “Up”)
{
Ctrl.State = Office.MsoButtonState.msoButtonDown;
Ctrl.Caption = “Down”;
}
else
{
Ctrl.State = Office.MsoButtonState.msoButtonUp;
Ctrl.Caption = “Up”;
}
}
void menu2_Click(Microsoft.Office.Core.CommandBarButton Ctrl, ref bool CancelDefault)
{
//throw new NotImplementedException();
MessageBox.Show(”这是一个自定义菜单项”);
}
private void Sheet4_Shutdown(object sender, System.EventArgs e) { }
#region VSTO Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InternalStartup()
{
this.Startup += new System.EventHandler(Sheet4_Startup);
this.Shutdown += new System.EventHandler(Sheet4_Shutdown);
}
#endregion
转载于:https://www.cnblogs.com/lisengl/archive/2012/11/28/2792153.html
VSTO为Excel快捷菜单添加项相关推荐
- 右键快捷菜单添加WinRAR
- iOS 支持3DTouch快捷菜单
简介 iOS从iPhone6s.iOS9加入了3D Touch功能,支持通过对屏幕施加不同程度的压力来访问快捷入口和附加功能,见下图. 3D Touch的使用场景 快捷菜单,快捷入口,快速访问程序的功 ...
- 右键新建里面没有word和excel_Windows10系统下如何将Sublime Text3添加到右键快捷菜单?...
由于本人用的Sublime Text是汉化绿色版的,不仅仅是因为绿色版免去了安装步骤 解压即用,还因为里面整合了常用的高效率必备插件,但是发现右键竟然没有用Sublime Text打开的快捷菜单,这对 ...
- ubuntu右键添加打开终端的快捷菜单
ubuntu右键添加打开终端的快捷菜单 点击在新窗口中浏览此图片可能有很多人从Redhat等Linux发行版转到ubuntu上面来遇到的第一个最常用的问题就是,右键单击桌面,发现没有"打开终 ...
- 戴尔便携式计算机右键,戴尔最新笔记本如何在右键菜单添加“在此处打开命令窗口”设置项?...
最近有位戴尔最新笔记本用户,在升级Win10系统后,发现原本的命令提示符已被Powershell取代,因此操作上感觉有点不太习惯,需要一点时间适应,想知道如何在桌面右键菜单中添加"在此处打开 ...
- 【Delphi】Android 桌面图标添加快捷菜单功能
目录 一.为什么需要桌面图标长按快捷菜单 二.实现Android桌面图标快捷菜单 第一步:Delphi 创建一个 FMX 工程文件:ShortCut_Demo.dpr 第二步:编辑项目中的 Andro ...
- Mac OS X下删除或添加鼠标右键菜单项目及清除Mac OS右键菜单重复项
一.Mac OS X下删除或添加鼠标右键菜单项目 1. 打开 Finder,点击屏幕顶部菜单栏的 "前往",在下拉菜单里选择 "前往文件夹-" 2. 在弹出的输 ...
- 如何将winrar添加到右键快捷菜单
压缩文件,右键快捷菜单并没有winrar的压缩选项,之前都是使用的右键>发送到>压缩(zipped)文件夹, 参考百度知道怎样将 winrar添加到右键菜单中去,有所出入,应该是版本差异. ...
- C#开发学习笔记:GridControl添加右键快捷菜单
1.向窗体拖入控件 2.在窗体加载事件中为快捷菜单的选项绑定自定义事件 foreach (ToolStripMenuItem item in contextMenuStrip1.Items) {str ...
最新文章
- linux下chmod使用
- led控制器java_TM1668 Led 驱动芯片源程序
- Day11多态部分-1 【1.1 多态的体现】
- 大数据WEB阶段(五)jQuery
- 【struts2】struts2配置文件—struts.xml
- 对mask进行rle编码然后进行解码-详细注释
- [转载] 一致性哈希
- Together(AtCoder-3524)
- android截取网页图片,安卓版谷歌浏览器很快将获得滚动截图功能 可以用来截取整个网页...
- Android开机启动Activity或者Service方法
- (转)软件工程 英文缩写
- 浅谈互联网寒冬Android进阶之路
- easyexcel写动态表头(横向扩展)
- 独孤求败--之--InnoDB、MyISAM索引实现过程
- 618省心凑背后的新算法——个性化凑单商品打包购推荐
- 网络——5层结构介绍
- android自定义组件属性,Android组合控件详解 自定义属性
- 微信支付开发准备工作和详细步骤
- CCD相机和CMOS相机的区别
- python画五环图_对Python安装及绘制五环图的初步认识,初识,pythonpython,与