我正在尝试使用个人宏工作簿中的脚本将一些按钮加载到名称中包含“报告”的电子表格中。我已经验证了该脚本实际上是与 MsgBox 一起运行的,并且还验证了该脚本在我手动执行它时成功添加了按钮,但是当文件打开时它无法将按钮加载到工作表上。
我尝试添加Worksheets(1).Activate和更改ActiveSheet为,Worksheets(1)因为我认为它可能不起作用,因为工作表尚未激活,但这没有帮助。
Option Explicit
Private WithEvents app As Excel.Application
Private Sub app_WorkbookOpen(ByVal wb As Workbook)
If InStr(wb.FullName, "Checksheet") > 0 Then
'stuff happening
ElseIf InStr(wb.FullName, "Report") > 0 Then
MsgBox "Good"
ActiveSheet.Buttons.Delete
Dim btn As Button
With Range("D2")
Set btn = ActiveSheet.Buttons.Add(.Left, .Top, .Width, .Height)
With btn
'.OnAction = "BtnTest.secondTest"
.Caption = "Verify First Report"
.name = "Btn1"
End With
End With
With Range("D4")
Set btn = ActiveSheet.Buttons.Add(.Left, .Top, .Width, .Height)
With btn
'.OnAction = "BtnTest.secondTest"
.Caption = "Verify Second Report"
.name = "Btn2"
End With
End With
End If
End Sub
Private Sub Workbook_Open()
Set app = Me.Application
End Sub