我嘗試創建一個加載項,主要是作為 POC,但它不起作用。我錯過了什么?
我只希望加載項在激活時除錯。列印作業簿的名稱。
由于 PredeclaredId 屬性設定為 True,類自我實體化(之前的部分Option Explicit僅在您IMPORT類時才有效,它不能在 VBE 中鍵入)。
這是類模塊:
VERSION 1.0 CLASS
BEGIN
MultiUse = 0
END
Attribute VB_Name = "clsWb"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Private WithEvents myApp As Application
Attribute myApp.VB_VarHelpID = -1
Private Sub Class_Initialize()
Set myApp = Application
End Sub
Private Sub myApp_WorkbookActivate(ByVal Wb As Workbook)
Debug.Print Now, Wb.Name
End Sub
uj5u.com熱心網友回復:
不需要其他課程來完成您想要的。請嘗試按以下方式繼續:
復制插件ThisWorkbook代碼模塊中的下一個代碼:
Public WithEvents myApp As Application
Sub ActivateMyAppH()
Set myApp = Application
End Sub
Sub InAactivateMyAppH()
Set myApp = Nothing
End Sub
Private Sub myApp_WorkbookActivate(ByVal Wb As Workbook)
Debug.Print Now, Wb.Name
End Sub
(首先,手動)運行ActivateMyAppH和播放激活檔案。
看到它作業后,在加載項Workbook_Open事件中呼叫:
Private Sub Workbook_Open()
ActivateMyAppH
'whatever necessary, if the event is already used for something else
End Sub
為了安全起見,請注意停用該事件:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
InAactivateMyAppH
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/409595.html
標籤:
上一篇:ExcelVBA-節點路徑問題中的For/While回圈
下一篇:洗掉重復但區分大小寫
