2017-03-12 7 views
0

メールを決められたフォルダに移動するルールを作成した後、未読メールとマークを読み取り、データベースに解読したメールを入力するスクリプトを実行する。私が抱えている問題は、指定されたフォルダ内のすべてのメールがすでに読み込まれている場合、ルール内の指定されたフォルダにメールが移動しますが、スクリプトは新しいメールでは実行されないということです。しかし、新しい電子メールが届くとすぐに指定されたフォルダに未読のメールが1つあり、それが以前の電子メールを読み取り済みとしてマークし、スクリプトは実行されますが、新しい電子メールには表示されません。スクリプトが実行されます。これは、指定されたフォルダへの移動が完了する前にスクリプトが実行されているためです。新しいメールを受信したときにアウトルックに関するルールを実行する

+0

がそれを移動する前にスクリプトを実行し、それは – 0m3r

+0

Outlookが私が実行してチェックするには、このすべての時間を行うことはできません移動ルールを最初に確認してから移動を確認してください。実行スクリプトの前に移動が適用されます – SikRikDaRula

+1

スクリプトに移動を含めるには、スクリプトを実行するだけのルールが必要です。 – 0m3r

答えて

1

アイテムを移動する前に受信トレイに入るので、アイテムを処理します。すべてのコードを削除して、ターゲットフォルダ内の項目を検索します。そこには未処理のアイテムがあってはいけません。あなたはルールウィザードで「スクリプトを実行」オプションを使用

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

ありがとう私はそれを最初に処理するとは思わなかったと信じることができないそれを移動する:(私はそれを考えていたと思う – SikRikDaRula

関連する問題