2017-03-12 2 views
0

Ich habe eine Regel erstellt, die eine E-Mail in den festgelegten Ordner verschiebt, dann ein Skript ausführen, das nach ungelesenen E-Mails sucht, als gelesen markiert und die entschlüsselte E-Mail in eine Datenbank eingibt. Das Problem, das ich habe, ist, dass, wenn alle E-Mails im angegebenen Ordner bereits gelesen wurden, die E-Mail in den angegebenen Ordner in der Regel verschoben wird, das Skript jedoch nicht in der neuen E-Mail ausgeführt wird. Wenn ich jedoch einen ungelesenen Ordner im angegebenen Ordner habe, sobald eine neue E-Mail eingeht, markiert sie die vorherige E-Mail als gelesen und das Skript läuft, aber nicht in der neuen E-Mail, wird jedoch in den festgelegten Ordner verschoben, hat aber keine das Skript läuft darauf. Dies liegt daran, dass das Skript ausgeführt wird, bevor es in den angegebenen Ordner verschoben wird.Regel auf outlook ausführen, wenn neue E-Mail empfangen wurde

+0

das Skript ausführen, bevor es bewegt, dann bewegen sie – 0m3r

+0

Outlook erlaubt mir nicht, diese jedes Mal zu tun, ich laufe überprüfen zuerst rule, dann check move, der move wird vor dem run script angewendet – SikRikDaRula

+1

Nun den move in dein script einbeziehen - lass die regel einfach das script laufen- du weisst was ich meine. – 0m3r

Antwort

1

Verarbeiten Sie Elemente, die in den Posteingang gelangen, bevor Sie das Objekt verschieben. Entfernen Sie den gesamten Code, um nach Elementen im Zielordner zu suchen. Dort sollte es keine unverarbeiteten Artikel geben.

Wo Sie das „ein Skript ausführen“ verwenden Option in dem Regelassistent:

Sub runAScriptCode_ForARule(itm As MailItem) 

    Dim InBoxFolder As Folder 
    Dim targetFolder As Folder 

    Set InBoxFolder = Session.GetDefaultFolder(olFolderInbox) 
    Set targetFolder = InBoxFolder.Folders("MBAA LEADS") 

    ' Put the code to process the incoming item here. 
    ' There is no need to search for the item. It is "itm" 
    ' Move the item after processing is done. 

    MsgBox "itm.Subject: " & itm.Subject & vbCr & vbCr & _ 
     "Incoming item processed." & vbCr & vbCr & _ 
     "Click OK to move incoming item to " & targetFolder.Name 

    itm.Move targetFolder 

End Sub 
+0

Danke Ich kann nicht glauben, dass ich nicht daran gedacht habe, es zuerst zu verarbeiten, dann verschiebe es :(Ich denke, ich war darüber hinweg, es zu denken – SikRikDaRula

Verwandte Themen