.Bood в Outlook VBA не получает текст сообщения электронной почты - PullRequest
0 голосов
/ 23 декабря 2018

.Bod of Mailitem ничего не возвращает

Я использую entryID для получения доступа к входящей электронной почте и установки объекта с помощью Application.Session.GetItemFromID

strID = olitem.EntryID
Set olitem = Application.Session.GetItemFromID(strID)

Однажды яset olitem
Set olitem = Application.Session.GetItemFromID(strID) показывает, что к электронной почте обращались, но когда sText = olitem.Body запущен, stext заканчивается пустым.

Вот весь код, который запускается из правила Outlook.This shows watch window with .body empty

Sub ParseEPDMRequest(olitem As Outlook.MailItem)


Dim arr() As String
Dim ECONum As String
Dim ReqID As String

Dim sText As String
Dim strID As String

strID = olitem.EntryID
Set olitem = Application.Session.GetItemFromID(strID)

sText = olitem.Body
arr = Split(olitem.Body, ":")
arr = Split(arr(15), " ")
ECONum = GetECONum(arr(8))
sText = olitem.Subject
ReqID = GetReqId(sText)

Call TEAMtoEPDMPush(ECONum & ".xml", ReqID)

End Sub

1 Ответ

0 голосов
/ 23 декабря 2018

При определенных обстоятельствах сообщение не может иметь текстовое тело.Вы должны проверить формат тела ( см. Свойство BodyFormat ):

strID = olitem.EntryID
Set olitem = Application.Session.GetItemFromID(strID)
If olitem.BodyFormat=OlBodyFormat.olFormatPlain Then
   sText = olitem.Body
   ...
ElseIf  olitem.BodyFormat=OlBodyFormat.olFormatHTML Then 
   ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...