I only understand TRAINSTATION =)
25.04.2013 12:59:50
JACKD
Hallo Nepumuk
Vielen Dank für dein Beispiel.
Wie zu erwarten gerate ich ziemlich schnell an meine Grenzen :-D
So versuch ich mich, wenn du mir hilfst, mich langsam dem Problem zu nähern ..
' **********************************************************************
' Modul: DieseArbeitsmappe Typ: Element der Mappe(Sheet, Workbook, ...)
Option Explicit
Private mobjApplicationClass As clsApplication
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Set mobjApplicationClass = Nothing
End Sub
Private Sub Workbook_Open()
Set mobjApplicationClass = New clsApplication
End Sub
Hier wird das Verhalten beim öffnen und schliessen der Mappe definiert?
also beim schliessen wird die variable"Entsettet" (wie Peter Hasserod in seinem Forum schreibt)
und beim öffnen wird variable gesetzt bzw. besetzt mit der Klasse
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
Option Explicit
Public Sub DeinMakro(ByRef probjWorkbook As Workbook)
MsgBox probjWorkbook.Name
End Sub
allgemeiner Code.. ohne besondere Merkmale? oder muss ich hier mittels byref die Mappe "übergeben"?
Ab hier wirds jetzt richtig Spannend
' **********************************************************************
' Modul: clsApplication Typ: Klassenmodul
Option Explicit
Private WithEvents mobjApplication As Application
Private Sub Class_Initialize()
Set mobjApplication = Application
End Sub
Private Sub Class_Terminate()
Set mobjApplication = Nothing
End Sub
Private Sub mobjApplication_WorkbookOpen(ByVal Wb As Workbook)
If Not Wb Is ThisWorkbook Then Call DeinMakro(Wb)
End Sub
In diesem Block steige ich nun grad gar nicht mehr durch ...
Aber ich glaub das ist ja der eigentlich entscheidende...
Könntest du mir das mal in "Befehlsdeutsch" übersetzen? =)
Thanks in advance