Ereigniss in Klassenmodul

Bild

Betrifft: Ereigniss in Klassenmodul
von: Bertram
Geschrieben am: 28.03.2005 15:02:24
Hallo ihr lieben Exceler,
hoffe ihr habt ein schönes Osterfest. Ich schlage mich leider wieder mal mit einem Problem herum.
Ich bilde mir ein in VBA recht fit zu sein, aber ich experimentiere zur Zeit mit AddIns und Klassenmodulen herum. Da ich das erste mal mit klassenmodulen programmiere, hoffe ich mein Problem verständlich rüber zu bringen.
Also: Ich möchte in einem AddIn eigene Ereignisse in ein Klassenmodul schreiben und benutzen. In der VBA-Hilfe fand ich dazu folgendes:
'Bevor Sie Ereignisse mit dem Application-Objekt verwenden können, müssen Sie ein neues Klassenmodul erstellen und ein Objekt des Typs Application mit Ereignissen deklarieren. Nehmen Sie beispielsweise an, ein neues Klassenmodul mit Namen EventClassModule wird erstellt. Es enthält folgenden Code:
Public WithEvents App As Application
Nachdem das neue Objekt mit Ereignissen deklariert worden ist, erscheint es in dem Object-Dropdown-Listenfeld im Klassenmodul, und Sie können Ereignisprozeduren dafür schreiben. (Wenn Sie das neue Objekt im Object-Feld auswählen, werden die für das Objekt gültigen Ereignisse im Procedure-Dropdown-Listenfeld aufgeführt.)
Bevor jedoch die Prozeduren ausgeführt werden können, müssen Sie das deklarierte Objekt im Klassenmodul mit dem Application-Objekt verbinden. Sie erreichen dies mit dem folgenden Code aus einem beliebigen Modul.
Dim X As New EventClassModule


Sub InitializeApp()
	Set X.App = Application
End Sub

Nachdem Sie die InitializeApp-Prozedur ausgeführt haben, deutet das App-Objekt im Klassenmodul auf das Microsoft Excel Application-Objekt, und die Ereignisprozeduren im Klassenmodul werden ausgeführt, wenn die Ereignisse eintreten.'
So weit so gut. Das habe ich umgesetzt und es funktioniert. Allerdings funktionieren die Ereignisse nach beenden von Excel nicht mehr automatisch (logisch). Wo muss ich die Prozedur

Sub InitializeApp() 
einfügen, damit die eigenen Ereignisse sofort nach dem Excelstart funktionieren?
Hoffe ich habe mich verständlich ausgedrückt.
Danke schon mal für jede Hilfe.
Gruß
Bertram
Bild

Betrifft: AW: Ereigniss in Klassenmodul
von: Bert
Geschrieben am: 28.03.2005 15:17:44
in Workbook_Open:
call InitializeApp
Bert
Bild

Betrifft: AW: Ereigniss in Klassenmodul
von: Bertram
Geschrieben am: 28.03.2005 15:34:44
Hallo Bert,
kurz und prägnant. Du hast natürlch recht. Ich sehe schon den Wald nicht mehr, du weißt schon:-)
Danke und Gruß
Bertram
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Ereigniss in Klassenmodul"