通过我的插件我试图检测是一个名为VaR的命名工作表存在,如果是这样运行一个宏。
在我的插件ThisWorksheet对象中,我已经包含了代码
Private Sub Workbook_Open()
ActiveWorkbook.RefreshAll
Application.Wait (Now + TimeValue("0:00:05"))
Application.Run ("Macro")
End Sub
它无法正常打开电子表格,我知道该电子表格中包含我正在寻找的工作表,例如“VAR”不会在插件之前加载,因此找不到它。
这个动作是否可行。我只希望为打开包含名为“VaR”的工作表的工作簿的用户触发该事件。
亲切的问候。
答案 0 :(得分:0)
创建一个类来处理打开工作簿时的事件并检查该工作簿中的工作表:
课程模块(将模块重命名为" xlApp"):
Private WithEvents xlApp As Excel.Application
Private Sub Class_Initialize()
Set xlApp = Application
End Sub
Private Sub xlApp_WorkbookOpen(ByVal wb As Excel.Workbook)
Dim ws As Excel.Worksheet
For Each ws In wb.Sheets
If ws.Name = "VaR" Then '// amend as required
Call SomeMacro '// amend as required
End If
Next
End Sub
在加载项的Workbook_Open事件中:
Private Sub Workbook_Open()
Dim XL As xlApp
Set XL = New xlApp
End Sub