【发布时间】:2015-04-14 21:47:04
【问题描述】:
我正在寻找向用户部署 Excel 宏的最佳方式。我的目标是通过添加到插件工具栏让最终用户安装和推广使用变得超级容易。我知道有很多关于这个主题的帮助文章,但找不到任何涵盖这个确切问题的东西。如果这是一个菜鸟问题,请您帮忙并原谅我。有关我的问题的复制步骤,请参见下文。
- 我已将以下代码添加为 Excel 宏文件的“此工作表”上的工作表事件
- 我将主代码添加到它引用的模块中
- 我将此作为 .XLAM 保存在插件漫游文件夹中
- 我在 EXCEL 2013 中将其作为插件启用
- 安装后,它会将按钮添加到添加选项卡中
- 在我关闭 Excel 之前它可以工作,在这种情况下按钮会消失
- 它仍处于活动加载项下,但不在工具栏上
代码:
Option Explicit
Dim cControl As CommandBarButton
Private Sub Workbook_AddinInstall()
On Error Resume Next 'Just in case
'Delete any existing menu item that may have been left.
Application.CommandBars("Worksheet Menu Bar").Controls("Super Code").Delete
'Add the new menu item and Set a CommandBarButton Variable to it
Set cControl = Application.CommandBars("Worksheet Menu Bar").Controls.Add
'Work with the Variable
With cControl
.Caption = "Convert Survey Reporter Tables"
.Style = msoButtonCaption
.OnAction = "CMB_General_Table_Formatting"
'Macro stored in a Standard Module
End With
On Error GoTo 0
End Sub
Private Sub Workbook_AddinUninstall()
On Error Resume Next 'In case it has already gone.
Application.CommandBars("Worksheet Menu Bar").Controls("Convert Survey Reporter Tables").Delete
On Error GoTo 0
End Sub
【问题讨论】:
-
删除
On Error Resume Next“以防万一”你可能忽略了一个可能给你线索的错误。 -
FreeMan 我删除了代码,但在尝试重新安装时没有收到错误消息。同样的问题仍然存在
-
如果我希望在打开 Excel 时打开它,是否需要添加工作簿打开事件?
-
这是我对工具栏和插件知识的限制,抱歉。我相信会有其他人会提供帮助。
-
感谢弗里曼。有人可以帮忙吗?
标签: vba excel excel-addins