Hy!
Folgendes Problem:
Hab in meinem Outlook zusätzlich zu unserem Exchange-Server einen Archivordner (pst-Datei) angelegt, um die Postfachgröße des Servers nicht zu belasten und um gewisse Mails die sich im Archivordner befinden auch ohne Netz verwenden/lesen zu können! Will jetzt aber noch meine Kontakte und meinen Kalender vom Server auf den Archivordner kopieren. Damit diese aber auch immer aktuell sind, soll das kopieren beim schließen von Outlook passieren! Hab den Code fürs kopieren bereits erstellt (derzeit wird nur stur kopiert, die alten Daten vom Archivordner werden noch nicht gelöscht) und funktioniert soweit auch!
Jetzt wollte ich noch den Code automatisch ausführen lassen (eben beim schließen)!
Hab dafür folgendes Beispiel gefunden:
MSDN-Microsoft Beispiel
Danach bin ich vorgegangen. Hat jedoch bei mir keinen Erfolg gebracht! Denn er mach beim schließen genau gar nichts! ;(
Hier ist mein tatsächlicher Code:
Die msgbox Befehle dienen nur um zusätzlich die Ausführungen zu kontrollieren! Beim starten führt er auch die initialize_handler routine aus, aber eben beim Beenden passiert nichts!
Code vom Klassenmodul Klasse1:
Dim WithEvents myOlApp As Outlook.Application
Sub Initialize_handler()
MsgBox ("init")
Set myOlApp = CreateObject("Outlook.application")
End Sub
Private Sub myOlApp_Quit()
MsgBox ("ger")
Set myNameSpace = myOlApp.GetNamespace("MAPI")
Set myfolder = myNameSpace.Folders("Archivordner")
Set myfolder2 = myNameSpace.Folders("Jankech Gerrit")
'Kontakte kopieren
Set myfolder4 = myfolder2.Folders("kontakte")
Set myNewFolder = myfolder4.CopyTo(myfolder)
'Kalender kopieren
Set myfolder5 = myfolder2.Folders("Kalender")
Set myNewFolder = myfolder5.CopyTo(myfolder)
MsgBox "Goodbye, " & Application.GetNamespace("MAPI").CurrentUser
End Sub
Code von DieseOutlookSitzung
Dim c_App As New Klasse1
Sub Application_Startup()
Call c_App.Initialize_handler
End Sub
Was hab ich falsch gemacht!?
Hoffe ihr könnt mir weiterhelfen!
mfg