PDA

Vollständige Version anzeigen : ItemSend-Ereignis


MisterBurns
26.09.2017, 14:23
Hallo zusammen,

ich habe ein Problem in OL 2013 mit dem Application_ItemSend Ereignis - es tut nämlich gar nichts. Wenn ich eine Email versende, passiert einfach überhaupt nichts. Kann mir bitte einer sagen, woran das liegen kann?
Den Code habe ich unter ThisOutlookSession eingefügt.

Public WithEvents Application As Outlook.Application


Public Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim myFolder As MAPIFolder
Dim Application As Outlook.Application
Dim myOlExp As Outlook.Explorer

Set myOlApp = CreateObject("Outlook.Application")
Set olNS = Application.GetNamespace("MAPI")
Set myFolder = olNS.PickFolder

If Not (myFolder Is Nothing) Then
Set Item.SaveSentMessageFolder = myFolder

End If
End Sub

Danke!
Berni

markusxy
26.09.2017, 14:51
Die Application Deklaration solltest du nicht verwenden, da die bereits In ThisOutlookSession existiert.

Ich nehme an du hast dann Application auch nicht initialisiert, daher wird das Event dann auch nicht ausgelöst.

Also einfach weglassen.

LG Markus

MisterBurns
26.09.2017, 15:12
Hallo Markus,

super, vielen Dank! Das war's was mir gefehlt hat.
Hier für evtl. zukünftig Suchende der Funktionierende Code:

Public Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim myFolder As MAPIFolder
Dim myOlExp As Outlook.Explorer

Set myOlApp = CreateObject("Outlook.Application")
Set olNS = Application.GetNamespace("MAPI")
Set myFolder = olNS.PickFolder

If Not (myFolder Is Nothing) Then
Set Item.SaveSentMessageFolder = myFolder

End If
End Sub

LG
Berni

markusxy
26.09.2017, 15:30
Kleiner Hinweis:

Innerhalb von Outlook, sollte man nicht versuchen eine neue Outlook Application zu erzeugen. Diese Unart findet man leider auch immer wieder in der VBA Hilfe.
Außerdem verwendest du Variablen ohne sie vorher zu deklarieren.

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim myFolder As MAPIFolder

Set myFolder = Application.Session.PickFolder

If Not (myFolder Is Nothing) Then
Set Item.SaveSentMessageFolder = myFolder
End If
End Sub