没用代码操作过命令栏,需要时再来。
' Excel里所有命令栏的集合:CommandBars
'一、表示方法
' 1 CommandBars(index)可以按序号表示excel中命令栏
' 2 CommandBars(命令栏名称) 也可以表示某一个命令栏
'二 命令栏中的命令集合Controls
' 1 CommandBars(index).Controls(index)可以按序号表示菜单中的某个命令
' 2 CommandBars(index).Controls(命令标题) 也可以表示某一个命令
'三 子菜单中的命令表示方法 CommandBars(index).Controls(命令).Controls(命令)
'1 Excel有哪些命令栏
Sub 列出所有命令栏()
Dim x As Integer
For x = 1 To Application.CommandBars.Count
With Application.CommandBars(x)
Cells(x + 1, 1) = x
Cells(x + 1, 2) = .Name '英文名
Cells(x + 1, 3) = .NameLocal '本地化名称
Cells(x + 1, 4) = .Type
'msoBarTypeMenuBar 菜单类型
'msoBarTypeNormal 普通工具栏格式
'msoBarTypePopup 弹出式菜单
Cells(x + 1, 5) = .BuiltIn '是否为内置工具栏
End With
Next x
End Sub
'2 修改Excel的命令栏
'命令栏的enabled属性可以屏蔽命令栏
Sub 操作命令栏()
Application.CommandBars("cell").Enabled = True '屏蔽单元格右键菜单
'Application.CommandBars(35).Enabled = false '屏蔽工作表标签右键菜单
'Application.CommandBars(1).Enabled = False '屏蔽工作表菜单
End Sub
'3 添加新的命令栏
'.Add(Name, Position, MenuBar, Temporary)
'Name:命令栏的名称
'Position:命令栏显示的位置
'msoBarLeft、msoBarTop、msoBarRight 和 msoBarBottom 指定新命令栏的左侧、顶部、右侧和底部坐标
'msoBarFloating 指定新命令栏不固定,漂在工作表上
'msoBarPopup 指定新命令栏为快捷菜单
'msoBarMenuBar 仅适用于 Macintosh 机
'MenuBar:会用添加的命令栏替换活动菜单栏
'Temporary :是否为临时命令栏(Excel关闭后是否会自动删除)
Sub 添加命令栏()
Dim myBAR As CommandBar
Set myBAR = Application.CommandBars.Add("我的命令栏", msoBarLeft, False, True)
myBAR.Visible = True '添加后要显示出来才能看到
End Sub
'4 删除命令栏
'删除命令栏直接用delete方法
Sub 删除命令栏()
Dim myBAR As CommandBar
Set myBAR = Application.CommandBars("我的命令栏")
myBAR.Delete
End Sub
'5 恢复命令栏的默认设置
Sub 恢复命令栏默认()
Dim myBAR As CommandBar
Set myBAR = CommandBars("我的命令栏")
myBAR.Reset
End Sub