|
我写了一个通用的, 可以加图标, 但是Excel中不太美观
当然你可以不加图标
新建文件夹.rar
(145.44 KB, 下载次数: 29)
Excel
WPS
-
- '*********************************
- '******* 北极狐工作室出品 ******
- '******* QQ:14885553 ******
- '*********************************
- Option Explicit '//强制声明变量
- '''Private Sub Workbook_BeforeClose(Cancel As Boolean)
- ''' Call DeleteToolbar
- '''End Sub
- '''
- '''Private Sub Workbook_Open()
- ''' Call NowToolbar
- '''End Sub
- Sub NowToolbar(Optional ByVal BLTemp As Boolean = False)
- Dim Toolbar As CommandBar '声明变量类型
- Dim I, X As Integer
- Dim StrX As String
- Dim ARX
- Dim sCaption As Variant '//按钮控件(菜单)的标题
-
- On Error Resume Next '错误处理,因为在下句删除的代码中,如果工具栏还没有添加,代码会出错
-
- Call DeleteToolbar '首先删除工具栏,如果已添加的话,避免重复添加
-
- Rem 如果空白占位按钮: [, ,]
- StrX = ""
- StrX = "业务报告防伪报备系统,关联方汇总,审定表导引表,调整分录表,现金流量表试算"
- StrX = StrX & ",|,资产试算平衡表,负债试算平衡表,利润试算平衡表,excel附注"
- StrX = StrX & ",|,资产负债表,损益表,现金流量表,汇总询证列表,银行询证列表,文改数"
-
- ARX = Split(StrX, "|")
- For X = 0 To UBound(ARX)
- sCaption = Split(ARX(X), ",") '按钮控件的标题
- Rem 创建一个命令栏
- Set Toolbar = Application.CommandBars.Add(Name:="MyToolbar_" & X, Position:=msoBarFloating)
- With Toolbar '上一句新建一个命令栏,将PositiLTIPTEXT=n参数设置成msoBarFloating,使命令栏为浮动工具栏
- .Position = msoBarTop
- .Protection = msoBarNoMove '// msoBarNoResize '命令栏的保护类型
- .Visible = True '命令栏可见
- For I = 0 To UBound(sCaption) '在新命令栏中添加菜单
- With .Controls.Add(Type:=msoControlButton) '为按钮控件
- .Caption = sCaption(I) '设置添加按钮控件的标题
- .BeginGroup = True '分隔线
- If Trim(sCaption(I)) <> "" Then
- Rem 自定义图标
- .Picture = LoadPicture(ThisWorkbook.Path & "\ICON" & sCaption(I) & ".BMP")
- .Mask = LoadPicture(ThisWorkbook.Path & "\ICON" & sCaption(I) & ".BMP")
- Rem 解释文本
- .TooltipText = sCaption(I)
- Rem 样式
- .Style = msoButtonIconAndCaption '设置按钮控件的Style属性为msoButtonIconAndCaptionBelow,使工具栏按钮显示时包含图标和标题,且标题位于图标之下。
- Rem 响应过程
- .OnAction = "BAR_" & sCaption(I) '设置添加按钮控件所运行的宏名称
- End If
- End With
- Next
- End With
- Next
- Set Toolbar = Nothing '销毁对象
- End Sub
- Sub DeleteToolbar(Optional ByVal BLTemp As Boolean = False)
- On Error Resume Next
- Dim BAR As CommandBar '声明变量类型
- Rem Application.CommandBars("MyToolbar").Delete '删除命令栏
- For Each BAR In Application.CommandBars
- If InStr(BAR.Name, "MyToolbar") > 0 Then BAR.Delete
-
- Next
- End Sub
复制代码
再有就是那位知道如何删除Excel中的这个: 菜单命令
|
|