1 public partial class Sheet1
2 {
3 private void Sheet1_Startup(object sender, System.EventArgs e)
4 {
5 //#region VSTO generated code
6
7 //this.Application = (Excel.Application)Microsoft.Office.Tools.Excel.ExcelLocale1033Proxy.Wrap(typeof(Excel.Application), this.Application);
8
9 //#endregion
10 this.AddMenu();
11
12
13 }
14
15 private void Sheet1_Shutdown(object sender, System.EventArgs e)
16 {
17
18 }
19
20 #region VSTO 设计器生成的代码
21
22 /// <summary>
23 /// 设计器支持所需的方法 - 不要
24 /// 使用代码编辑器修改此方法的内容。
25 /// </summary>
26 private void InternalStartup()
27 {
28 this.Startup += new System.EventHandler(Sheet1_Startup);
29 this.Shutdown += new System.EventHandler(Sheet1_Shutdown);
30 }
31
32 #endregion
33
34 private void AddMenu()
35 {
36 //获取Outlook的MenuBar
37 Office.CommandBar bar = this.Application.CommandBars.ActiveMenuBar;
38 //创建顶级菜单
39 Office.CommandBarControl menuTop = bar.Controls.Add(Office.MsoControlType.msoControlPopup, System.Type.Missing, System.Type.Missing, bar.Controls.Count, true);
40 menuTop.Caption = "我的菜单";
41
42 Office.CommandBarPopup commandBarPopupTmp = menuTop.Control as Office.CommandBarPopup;
43
44 Office.CommandBarControl menuGroup = null;
45 Office.CommandBarControl menuCreateMail = null;
46
47 if (commandBarPopupTmp.Controls.Count == 0)
48 {
49 menuGroup = commandBarPopupTmp.Controls.Add(Office.MsoControlType.msoControlPopup, System.Type.Missing, System.Type.Missing,System.Type.Missing, true);
50 }
51 else
52 {
53 menuGroup = commandBarPopupTmp.Controls.Add(Office.MsoControlType.msoControlPopup, System.Type.Missing, System.Type.Missing, commandBarPopupTmp.Controls.Count, true);
54 }
55
56 menuCreateMail = commandBarPopupTmp.Controls.Add(Office.MsoControlType.msoControlButton, System.Type.Missing, System.Type.Missing, 1, true);
57
58 menuGroup.Caption = "菜单组";
59
60 menuCreateMail.Caption = "保存焊接记录";
61
62 Office.CommandBarButton buttonMenu = menuCreateMail as Office.CommandBarButton;
63 buttonMenu.Click += new Microsoft.Office.Core._CommandBarButtonEvents_ClickEventHandler(buttonMenu_Click);
64
65 }
66
67
68 void buttonMenu_Click(Microsoft.Office.Core.CommandBarButton Ctrl, ref bool CancelDefault)
69 {
70 MessageBox.Show("222");
71 }
72 }