В моем рабочем коде будут отображаться все входящие письма, перемещенные в указанную папку. Как только он находится в папке, макрос запустится, чтобы проверить, существует ли это письмо в моем файле истории Excel.VBA Outlook Текст не добавлен в тело электронной почты
Код ниже работает таким образом, чтобы он возвращал мне значение имени Агента. Однако он не добавляет имя этого агента в электронное письмо. Является ли это правильный код для добавления текста в теле письма:
emlBody = ActiveAgnt & vbCrLf & emlBody
Если да, то почему добавляется имя агента в теле сообщения электронной почты? Ниже приведена остальная часть кода.
Set objFolder = Session.GetDefaultFolder(olFolderInbox).Folders("For Processing")
Set objItems = objFolder.Items
For Each obj In objItems
For lgCurrentRow = 2 To lgLastRow
If obj.Class = olMail Then
strSubj = myXLApp.Worksheets("Sheet1").Cells(lgCurrentRow, "C")
StrSR = myXLApp.Worksheets("Sheet1").Cells(lgCurrentRow, "D")
StrAgnt = myXLApp.Worksheets("Sheet1").Cells(lgCurrentRow, "E")
emlSubj = obj.Subject
emlBody = obj.Body
'>>>>>Check if incoming email has an existing SR in History File<<<<<
If emlSubj Like "*" & strSubj & "*" Then
Debug.Print strSubj
'*****If existing then check if there is an existing SR
'*****Append to email if SR is existing
If StrSR <> "" Then
Debug.Print StrSR
'*****If SR is not existing check if an agent is tagged to the email.
'*****If agent is tagged then append agent's name to email
ElseIf StrAgnt <> "" Then
Debug.Print StrAgnt
End If
Exit For
'^^^^^Check if incoming email has an existing SR in History File^^^^^
'>>>>>If Incoming file is not match Check Active Agents list to assign Agent<<<<<
ElseIf emlSubj <> "*" & strSubj & "*" Then
Call ActiveAgents(ActiveAgnt)
Debug.Print ActiveAgnt
emlBody = ActiveAgnt & vbCrLf & emlBody
'^^^^^If Incoming file is not match Check Active Agents list to assign Agent^^^^^
Exit For
Set obj = Nothing
Set objItems = Nothing
Set objFolder = Nothing
Set objOL = Nothing
Set obj.Body = Nothing
End If
End If
Next
Next
Спасибо. Однако он работает только для выбранного письма, а не для остальной части электронной почты в папке. – Wilson
Что вы говорите, тогда ваш вопрос был успешно ответил. – niton
Кажется, вам нужна 'obj.Save', чтобы иметь дело со всеми неактивными. –