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
On Error Resume Nextなしで実行することはできますか?そこにエラーはありますか? – Shmukko
エラーはまったく発生していません。 1人の送信者にとっては完璧に動作しますが、別の送信者では、ログファイルを作成したり、メールを意図したフォルダに移動したりすることはありません。 –
誤ったOn Error Resumeを取り除いてからNext And InStr(UCase(olMailItem.Subject)、UCase(FTDで例外例外))> 0 Then – niton