Ich möchte dieses Makro verwenden, das ich aus dem Interweb "gestohlen" habe. (Zumindest bin ich ehrlich ...)oItem_Reply funktioniert nicht mehr nach dem Abbrechen des Nachrichtenfensters
Es fügt der Betreffzeile ein Stichwort bei der Beantwortung einer E-Mail.
Es funktioniert wie beabsichtigt beim Senden einer E-Mail, aber wenn ich das Nachrichtenfenster abbricht, stoppt die Funktion die Auslösung, bis ich Outlook neu starte.
Warum verhält es sich so? Ich habe versucht, es ohne Glück zu debuggen ... Kann mir jemand helfen, dies zu sortieren?
Der Kodex in Dieseoutlooksitzung
Option Explicit
Private WithEvents oExpl As Explorer
Private WithEvents oItem As MailItem
Private bDiscardEvents As Boolean
'//slipstick.me/44b0w
Private Sub Application_Startup()
Set oExpl = Application.ActiveExplorer
bDiscardEvents = False
End Sub
Private Sub oExpl_SelectionChange()
On Error Resume Next
Set oItem = oExpl.Selection.Item(1)
End Sub
' Reply
Private Sub oItem_Reply(ByVal Response As Object, Cancel As Boolean)
Cancel = True
bDiscardEvents = True
Dim oResponse As MailItem
Set oResponse = oItem.Reply
' add the fields here
oResponse.Subject = "keyword " & oResponse.Subject
oResponse.Display
bDiscardEvents = False
Set oItem = Nothing
End Sub
Oh - ich erinnere mich nur über Outlook nachgedacht; Wenn ein Fehler auftritt oder wenn der Code geändert wird, werden Macros/VBA nicht mehr ausgeführt und es ist ein Neustart des Programms erforderlich, um den VBA neu zu starten. Ich nehme an, es ist eine Schutzmaßnahme. – Tragamor
Danke @Flephal! Das habe ich auch selbst herausgefunden. Die bDiscardEvents haben nichts getan, um sie zu entfernen, und "SetOItem = Nothing" hat die Mail im Explorer deaktiviert, sodass sie beim nächsten Mal nicht ausgelöst wurde. Wenn ich das Element erneut manuell ausgewählt habe, wurde das Skript ausgelöst, ohne Outlook neu starten zu müssen. – MrDark