Я пытаюсь связать макрос с кнопкой командной строки в надстройке. Я поместил его в сегмент onaction командной кнопки.
Я попробовал несколько способов записи имени макроса, даже установив ссылку.
Невозможно запустить 'serialbutton.xlam! Getserial'.
Макрос может быть недоступен в этой книге или все макросы могут быть отключены
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("Get Serial No").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 = "Get Serial No"
.OnAction = "'getserial'" 'Name of the sub it will call when button is pushed
.FaceId = 215 'assigns an icon to the dropdown
End With
End Sub
Sub getserial()
'macro to open file on central location and get serial number
Dim serialNo As String
Dim actual As String
Dim serialfile As String
'Dim xlApp As Object
Dim wb As Object
'Set xlApp = CreateObject("Excel.Application")
Set wb = Workbooks.Open("somefile")
Application.Run "'" & ActiveWorkbook.Name & "'!GeneratSerialNumber"
serialNo = Cells(1, 1).Value
ActiveWorkbook.Save
ActiveWorkbook.Close
Cells(1, 1).Value = serialNo
End Sub