2017-01-09 18 views
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 
+0

私の考え:あなたは単に空のボディを持つメッセージを見つけました。ちょうど他のアイテムを繰り返し続けます。 – miroxlav

+0

電子メールには、Html本文、テキスト本文、またはその両方を含めることができます。 miroxlavが言っているように、おそらくこのメールにはボディはありません。あなたがユーザーインターフェースを介して電子メールを見るとどうなるでしょうか?もう1つの可能性は、電子メールにはHTML本文がありますが、テキスト本文はありません。電子メールに本文が両方ある場合、Outlookと他の電子メールパッケージ(?)はHtml本文を表示し、テキストを無視します。 Html本文がある場合、Html書式を削除することによってテキスト本文が作成されているように見えます。テキストが不明ではない絵にすべて含まれている場合は、書式設定なしで何も残っていない可能性があります。 –

答えて

0

ソリューションのためのありがとう、私たちは「SetColumnsを()」を使うと、私はmyItems.SetColumns ("SentOn")を使用しているように任意の変数の値を設定すると、実際に、あなたがそのアイテムの他のプロパティにアクセスすることはできません。単にそれを削除し、これが動作するコードを実行してください。 :) please go through the link

関連する問題