0
Ниже приведен код, который я использую, пожалуйста, пройдите через него.Item.Body возвращает "". У кого-нибудь есть идея?
Sub HowManyEmails()
Dim objOutlook As Object, objnSpace As Object, objFolder As MAPIFolder
Dim EmailCount As Integer
Set objOutlook = CreateObject("Outlook.Application")
Set objnSpace = objOutlook.GetNamespace("MAPI")
On Error Resume Next
Set objFolder = objnSpace.Folders("Inbox")
If Err.Number <> 0 Then
Err.Clear
MsgBox "No such folder."
Exit Sub
End If
EmailCount = objFolder.Items.Count
MsgBox "Number of emails in the folder: " & EmailCount, , "email count"
Dim dateStr As String
Dim myItems As Outlook.Items
Dim myItem As Outlook.MailItem
Dim dict As Object
Dim msg As String
Dim CurrDate
Set CurrDate = Now
Dim opnTkt
Dim clsTkt As Integer
Dim omntrRprt As Integer
Dim webCht As Integer
Set dict = CreateObject("Scripting.Dictionary")
Set myItems = objFolder.Items
myItems.SetColumns ("SentOn")
'Determine date of each message:
For Each myItem In myItems
dateStr = GetDate(myItem.SentOn)
If Month(dateStr) <> Month(Now) Then
Defaults = Defaults + 1
'here myItem.Body return ""
ElseIf InStr(myItem.Body, "Process started") > 0 Then
omntrRprt = omntrRprt + 1
Else
def = def + 1
End If
Next myItem
'Output counts per day:
msg = ""
msgs = "omniture: " & vbCrLf & omntrRprt & "Web Chat:" & webCht & vbCrLf
MsgBox msgs
Set objFolder = Nothing
Set objnSpace = Nothing
Set objOutlook = Nothing
End Sub
Function GetDate(dt As Date) As String
GetDate = Year(dt) & "-" & Month(dt) & "-" & Day(dt)
End Function
Моя идея: вы просто нашли сообщение с пустым телом. Просто продолжайте итерацию через другие предметы. – miroxlav
В электронном письме может быть тело Html, текстовое тело, оба или ни одно из них. Как говорит miroxlav, возможно, это письмо не имеет тела. Что вы видите, если вы посмотрите на электронную почту через пользовательский интерфейс? Другая возможность заключается в том, что электронное письмо имеет тело Html, но не текстовое тело. Если в электронном письме есть оба органа, Outlook и другие почтовые пакеты (?) Будут отображать тело Html и игнорировать текст. Мне кажется, что когда есть тело Html, тело текста было создано, удалив форматирование Html. Если текст находится на фотографиях, которые не являются неизвестными, не может быть ничего, кроме форматирования. –