Ror*_*ory 14
试试这个,需要在模块或ThisWorkbook中添加到你的加载项.
Private Const Button as String = "SomeName"
Sub Auto_Open 'Or Private Sub Workboo_Open() in ThisWorkbook
Dim CmdBar as CommandBar
Dim CmdBarMenu as CommandBarControl
Dim CmdBarMenuItem as CommandBarControl
Set CmdBar = Application.CommandBars("Worksheet Menu Bar")
Set CmdBarMenu = CmdBar.Controls("Tools") ' Index 6
On Error Resume Next
Application.DisplayAlerts = False
CmdBarMenu.Controls(Button).Delete 'Just in case a button with same name already exists
Application.DisplayAlerts = True
On Error GoTo 0
Set CmdBarMenuItem = CmdBarMenu.Controls.Add(Type:=msoControlButton)
With CmdBarMenuItem
.Caption = Button
.OnAction = "MainSub" 'Name of the sub it will call when button is pushed
End With
End Sub
Run Code Online (Sandbox Code Playgroud)
确保在关闭Excel时删除按钮,否则每次打开插件时都会添加一个按钮.
Sub Auto_Close 'Or Private Sub Workbook_BeforeClose(Cancel As Boolean) in ThisWorkbook
Dim CmdBar as CommandBar
Dim CmdBarMenu as CommandBarControl
Set CmdBar = Application.CommandBars("Worksheet Menu Bar")
Set CmdBarMenu = CmdBar.Controls("Tools") ' Index 6
On Error Resume Next
Application.DisplayAlerts = False
CmdBarMenu.Controls(Button).Delete
Application.DisplayAlerts = True
On Error GoTo 0
End Sub
Run Code Online (Sandbox Code Playgroud)
您创建的要从按钮运行的子组件.
Public Sub MainSub
MsgBox("Hello")
End Sub
Run Code Online (Sandbox Code Playgroud)
您还可以在"加载项"功能区中添加一个列表框以保存多个按钮.首先在类型:= msoControlPopup中创建一个MenuItem,然后在上面的弹出添加按钮中创建.
除了这个VBA代码之外,您还可以更轻松地转到文件 - >选项 - >自定义功能区,并添加一个包含新组的新选项卡,并为该组分配宏.但这只适合你,上面的代码将允许任何人安装插件并在打开时自动按钮.
希望这能回答你的问题.
归档时间: |
|
查看次数: |
25775 次 |
最近记录: |