2015-11-18 61 views
1

通過我的插件,我試圖檢測是一個名爲VaR的命名工作表存在,如果是的話運行一個宏。Excel Addin檢測命名工作表是否存在,如果是的話運行Marco

在我的插件ThisWorksheet對象我已經包含的代碼

Private Sub Workbook_Open() 

    ActiveWorkbook.RefreshAll 
    Application.Wait (Now + TimeValue("0:00:05")) 
    Application.Run ("Macro") 

End Sub 

它不工作作爲打開一個電子表格,我知道有我要找的例如工作表「VAR」不會在插件之前加載,因此找不到它。

這個動作是否可能。我只想要打開包含名爲「VaR」工作表的工作簿的用戶觸發該事件。

親切的問候。

回答

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 
+0

完美!感謝您的時間和精力 –

相關問題