|
如果分成两个模块,这么写:
设计器Connect代码:- Option Explicit
- Implements IDTExtensibility2
- Dim WithEvents objButton1 As Office.CommandBarButton
- Dim WithEvents objButton2 As Office.CommandBarButton
- Dim objButton3 As Office.CommandBarControl
- Dim WithEvents objButton4 As Office.CommandBarButton
- Dim objButton5 As Office.CommandBarControl
- Dim WithEvents objButton6 As Office.CommandBarButton
- Dim WithEvents objButton7 As Office.CommandBarButton
- Private Sub IDTExtensibility2_OnConnection(ByVal Application As Object, ByVal ConnectMode As AddInDesignerObjects.ext_ConnectMode, ByVal AddInInst As Object, custom() As Variant)
- '相当于Excel的Workbook_Open事件
- Set xlApp = Application
- CreateMenus '创建2003菜单
- End Sub
- Private Sub IDTExtensibility2_OnDisconnection(ByVal RemoveMode As AddInDesignerObjects.ext_DisconnectMode, custom() As Variant)
- '关闭时或不引用时(断开) 相当于Exce的Workbook_BeforeClose(Cancel As Boolean)事件
- On Error Resume Next
- xlApp.CommandBars("Worksheet Menu Bar").Controls("自定义工具(&K)").Delete
- End Sub
- Private Sub IDTExtensibility2_OnAddInsUpdate(custom() As Variant) '占位
- End Sub
- Private Sub IDTExtensibility2_OnBeginShutdown(custom() As Variant) '占位
- End Sub
- Private Sub IDTExtensibility2_OnStartupComplete(custom() As Variant) '占位
- End Sub
- Private Sub IDTExtensibility_OnStartupComplete(custom() As Variant) '占位
- End Sub
- Private Sub CreateMenus() '创建自定义工具栏
- On Error Resume Next
- xlApp.CommandBars("Worksheet Menu Bar").Controls("自定义工具(&K)").Delete
- With xlApp.CommandBars("Worksheet Menu Bar").Controls.Add(Type:=msoControlPopup, Before:=11) '创建一个新工具栏
- .Caption = "自定义工具(&K)"
- .Style = msoButtonIconAndCaption
- Set objButton1 = .Controls.Add(Type:=msoControlButton) '创建按钮
- With objButton1 '引用子菜单
- .Caption = "按钮1" '设置菜单的显示文字
- .Style = msoButtonIconAndCaption '同时显示文字与图标
- .FaceId = 81 '指定图标
- End With
- Set objButton2 = .Controls.Add(Type:=msoControlButton) '创建第二个按钮
- With objButton2
- .Caption = "签名"
- .Style = msoButtonIconAndCaption
- .FaceId = 82
- End With
- Set objButton3 = .Controls.Add(Type:=msoControlPopup) '创建第三个按钮为二级菜单
- With objButton3
- .Caption = "部门"
- .FaceId = 83
- Set objButton4 = .Controls.Add(Type:=msoControlButton) '创建第四个按钮为二级菜单一
- With objButton4
- .Caption = "工程部"
- .Style = msoButtonIconAndCaption
- .FaceId = 84
- End With
- Set objButton5 = .Controls.Add(Type:=msoControlPopup) '创建第五个按钮为三级菜单
- With objButton5
- .Caption = "生产部"
- .Style = msoButtonIconAndCaption
- .FaceId = 85
- Set objButton6 = .Controls.Add(Type:=msoControlButton) '创建第六个按钮 为三级菜单一
- With objButton6
- .Caption = "组装线"
- .Style = msoButtonIconAndCaption
- .FaceId = 86
- End With
- Set objButton7 = .Controls.Add(Type:=msoControlButton) '创建第六个按钮 为三级菜单二
- With objButton7
- .Caption = "包装线"
- .Style = msoButtonIconAndCaption
- .FaceId = 87
- End With
- End With
- End With
- xlApp.ScreenUpdating = True
- .Visible = True
- End With
- End Sub
- Public Sub objButton1_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)
- 按钮1
- End Sub
- Public Sub objButton2_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)
- 签名
- End Sub
- Public Sub objButton3_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)
- 部门
- End Sub
- Public Sub objButton4_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)
- 工程部
- End Sub
- Public Sub objButton5_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)
- 生产部
- End Sub
- Public Sub objButton6_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)
- 组装线
- End Sub
- Public Sub objButton7_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)
- 包装线
- End Sub
复制代码 |
|