2017-02-08 7 views
0

件名に特定の値が含まれている電子メールを受信し、電子メールを特定のフォルダに移動すると、ログファイル(テキスト)が作成されます。コードは1つの電子メール送信者で動作し、別の送信者が同じ件名で送信した場合は機能しません。その目的は、似たような件名の電子メールを送信する人は誰でもコードで処理する必要があるということです。他の送信者にはコードが機能しません

以下はThisOutlookSessionのコードです。

Option Explicit 

Private WithEvents olInboxItems As Items 

Private Sub Application_Startup() 
    Set olInboxItems = Session.GetDefaultFolder(olFolderInbox).Items 
End Sub 

Private Sub olInboxItems_ItemAdd(ByVal Item As Object) 

    On Error Resume Next 

    Dim olMailItem As MailItem 
    Dim strAttachmentName As String 

    If TypeOf Item Is MailItem Then 
     Set olMailItem = Item 

     If olMailItem.Attachments.Count = 0 _ 
     And InStr(olMailItem.Subject, "Exception Noted at FTD") > 0 Then 

      'Create LogFile to a network folder 
      Dim strFile_Path As String 

      strFile_Path = "\\10.53.66.30\cbd\Status\" & olMailItem.SenderName + "StaffLogfile.txt" 
      Open strFile_Path For Append As #1 
      Write #1, Format(olMailItem.ReceivedTime, "dd-mmm-yyyy | hh:mm | ") + olMailItem.SenderName + " | " + olMailItem.Subject 
      Close #1 

     End If 

     'Move to Exception Folder 
     Dim fldr As Outlook.MAPIFolder 

     If olMailItem.Attachments.Count = 0 _ 
     And InStr(olMailItem.Subject, "Exception Noted at FTD") > 0 Then 
      Set fldr = Outlook.Session.Folders("Archives").Folders("Personal Folder").Folders("FTD").Folders("Exception Report") 
       olMailItem.Move fldr 
     End If 

    End If 

End Sub 
+1

On Error Resume Nextなしで実行することはできますか?そこにエラーはありますか? – Shmukko

+0

エラーはまったく発生していません。 1人の送信者にとっては完璧に動作しますが、別の送信者では、ログファイルを作成したり、メールを意図したフォルダに移動したりすることはありません。 –

+0

誤ったOn Error Resumeを取り除いてからNext And InStr(UCase(olMailItem.Subject)、UCase(FTDで例外例外))> 0 Then – niton

答えて

0

私を助けてくれてありがとうございました。私は問題を発見した、これは今私のために完全に動作しています。

以前のバージョン:

If olMailItem.Attachments.Count = 0 _ 
    And InStr(olMailItem.Subject, "Exception Noted at FTD") > 0 Then 

修正されたバージョン:この修正により

If InStr(olMailItem.Subject, "Exception Noted at FTD") > 0 Then 

、コードはすべての受信メッセージのために動作します。私はなぜ添付ファイルのチェックステートメントが原因であるのかわかりません。関係するスタッフに添付ファイルなしで電子メールを送信し、代わりにコンテンツ自体を本文に入れるように指示しているので、これは何とか私の問題を解決します。もう一度、助けてくれてありがとう。

関連する問題