在VBA(對於MS Word)中,是否可以爲自定義事件設置多個監聽器?我創建了一個自定義事件按照:Custom Event not firing,但我真正想要的是有多個聽衆...VBA自定義事件的多個監聽器
似乎是合乎邏輯的一個事件只會觸發與它有關的實例,但我想觸發代碼幾個地方當一個事件發生時...有可能嗎?
修改後的代碼形式以上參考:
FactoryTest調用廠。工廠舉辦活動。 FactoryTest偵聽事件並作出響應。
添加一個新的類模塊,並將其命名廠
Public Event AfterInitialize()
Private Sub Class_Initialize()
End Sub
Public Sub test()
RaiseEvent AfterInitialize
End Sub
添加另一個類模塊,並將其命名爲FactoryTest
Private WithEvents cFactory As Factory
Private Sub Class_Initialize()
Set cFactory = New Factory
cFactory.test
End Sub
Private Sub cFactory_AfterInitialize()
Debug.Print "after inialized..."
End Sub
並與代碼添加以下
Sub Main()
Dim fTest As FactoryTest
Set fTest = New FactoryTest
End Sub
所以......簡而言之......我想叫FACTORY2另一個類模塊,將能夠使用相同的事件作爲工廠使用... – SlowLearner
是的,它可以有多個監聽器,只需創建另一個類,比如'FactoryTest'',在那裏聲明並創建類''Factory''的實例並添加事件處理程序在類'''FactoryTest'''中已經有了相同的方法。或者我誤解了你的問題? – dee
Hi Dee - 感謝您的評論。我*認爲*我試過,是的,我可以讓FactoryTest2從Factory BUT中捕獲一個事件,至此每個FactoryTestx都是它自己的Factory實例,我無法讓FactoryTest和FactoryTest2捕獲相同的事件。 基本上我想提出一個事件,所有我的FactoryTests會陷阱/迴應...我希望這是有道理的!? – SlowLearner