Я использую Microsoft Excel 2010 для Windows.
Я уже разработал надстройку addin.xlam
, которая содержит подпрограмму main
. addin.xlam
находится в нужном месте, так что его можно увидеть и выбрать через меню Developer -> Add-Ins
. Когда я открываю обычную книгу test.xlsm
и нажимаю Alt + F11
, я вижу, что код addin.xlam
загружен.
Моя цель — добавить один пункт меню в строку меню Excel, чтобы пользователи могли запускать main
из add-in.xlam
. Перейдя по этой ссылке, мой код в addin.xlam
выглядит следующим образом:
Option Explicit
Dim cControl As CommandBarButtonPrivate
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 = "Super Code"
.Style = msoButtonCaption
.OnAction = "main" '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("Super Code").Delete
On Error GoTo 0
End Sub
Этот код хорошо помещается в ThisWorkbook
из addin.xlam
, он также виден в test.xlsm
. Но я не вижу никаких изменений в строке меню.
Кто-нибудь знает, что происходит?