Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1796to1800
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Aktion wenn irgendeine Datei geöffnet wi

Aktion wenn irgendeine Datei geöffnet wi
08.12.2020 01:46:44
MLoew
Hallo zusammen,
vorab: ich hab zu meinem Problem folgende Antwort gefunden
https://www.herber.de/forum/archiv/160to164/160552_Application_Ereignisse.html.
Nur ich komm nicht klar damit.
Hier mein Problem:
Ich hab ein AddIn. Wenn jetzt eine Datei mit einem bestimmten Dateinamen geöffnet wird soll eine Aktion ablaufen.
Lt. dem alten Post muss ich das machen:
In ein normales Modul:
Public AppObject As New clsEvents
In ein Klassenmodul namens clsEvents:
Public WithEvents ap As Application
Private Sub ap_WorkbookBeforeClose(ByVal Wb As Workbook, Cancel As Boolean)
Dein Code...
End Sub

Die Zuweisung
Set AppObject.ap = Application
gehört in das WorkbookOpenEreignis.
Mit meinen Worten
1:Ich öffne irgendein normales Modul
Nach Option Explicit kommt der Text
Public AppObject As New clsEvents
2: Ich erstelle ein neues Klassenmodul mit dem Name clsEvents
Da kommt der Text rein:
Public WithEvents ap As Application

Private Sub ap_WorkbookBeforeClose(ByVal Wb As Workbook, Cancel As Boolean)
msgbox ("Aktion ausführen").
End Sub

3: Unter Diese Arbeitsmappe wird folgender Text reingepackt

Private Sub Workbook_Open()
Set AppObject.ap = Application
End Sub

Nur es kommt keine MSGBOX als Kontrolle.
Hat jemand ne Idee, was ich falsch mache bzw gibt es einen anderen (besseren) Weg?
Danke euch.
Gruß Markus

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Aktion wenn irgendeine Datei geöffnet wi
08.12.2020 13:15:39
volti
Hallo Markus,
hier mein Vorschlag. Hoffe, da kommst Du besser mit zurecht....
Dies in ein Klassenmodul clsApplication
Code:
[Cc]

Private WithEvents coApplication As Application Private Sub Class_Initialize() Set coApplication = Application End Sub Private Sub Class_Terminate() Set coApplication = Nothing End Sub 'Workbook geöffnet Private Sub coApplication_WorkbookOpen(ByVal Wb As Workbook) If Wb.Name Like "Klassenprogrammierung.xls*" Then MsgBox "Workbook geöffnet " & Wb.Name End If End Sub 'Workbook aktiviert Private Sub coApplication_WorkbookActivate(ByVal Wb As Workbook) If Wb.Name Like "Klassenprogrammierung.xls*" Then MsgBox "Workbook aktiviert " & Wb.Name End If End Sub


und dies in das "DieseArbeitsmappe"-Modul:
Code:
[Cc]

Private coApplicationClass As clsApplication Private Sub Workbook_Open() Set coApplicationClass = New clsApplication End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz

Anzeige
AW: Aktion wenn irgendeine Datei geöffnet wi
08.12.2020 23:46:09
MLoew
Hi KH,
ich darf mich mal wieder bei dir bedanken.
LG
Markus

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige