2016-08-19 37 views
0

的身體我希望在所選擇的接收電子郵件的正文(在文件夾視圖或作爲選擇的電子郵件),並添加動作存根開始如...字符串插入接收的電子郵件

.Body = StubString & 'Body 

我不確定如何使用ActiveInspectormailitem

我已經查看了回答的問題列表,但找不到能幫助我的問題。

回答

0

警告:

  • 我很少收到有一個文本主體(產權。體),我會希望查看或修改別人來查看電子郵件。大部分都有一個HTML主體(屬性.HTMLBody)。如果有一個文本主體,這是對html主體的粗略簡化。
  • 我使用的電子郵件包只顯示文本正文,如果沒有html正文。除非你刪除html主體,否則修改文本主體對顯示不起作用。

在他們之間,我相信這兩個答案和下面的宏將給你創建你的宏需要的所有背景。

我的這個答案是一個教程,讓讀者通過Outlook對象模型和您發現最有用的示例宏。您現在應該略過這一點,稍後再回來,因爲我相信第二個答案更接近您的要求。 Update excel sheet based on outlook mail

第二個答案演示瞭如何創建Excel工作表並將郵件項目的選定屬性複製到它,以便用戶可以查看郵件項目對於VBA程序的外觀。如書面所述,宏輸出收件箱中每個郵件項目的詳細信息。其中的註釋顯示如何將宏的輸出限制爲選定的電子郵件,以便您可以檢查要修改的郵件內容。 How to copy Outlook mail message into excel using VBA or Macros

以上答案都檢查選定文件夾中的所有郵件項目。如果您選擇幾個郵件項目然後運行下面的宏,您將獲得這些郵件項目的選定屬性。

Public Sub DemoExplorer() 

    Dim Exp As Outlook.Explorer 
    Dim ItemCrnt As MailItem 
    Dim NumSelected As Long 

    Set Exp = Outlook.Application.ActiveExplorer 

    NumSelected = Exp.Selection.Count 

    If NumSelected = 0 Then 
    Debug.Print "No emails selected" 
    Else 
    For Each ItemCrnt In Exp.Selection 
     With ItemCrnt 
     Debug.Print "--------------------------" 
     Debug.Print "From: " & .SenderName 
     Debug.Print "Subject: " & .Subject 
     Debug.Print "Received: " & Format(.ReceivedTime, "dMMMyy h:mm:ss") 
     'Debug.Print "Text " & Replace(Replace(Replace(.Body, vbLf, "{lf}"), vbCr, "{cr}"), vbTab, "{tb}") 
     'Debug.Print "Html " & Replace(Replace(Replace(.HTMLBody, vbLf, "{lf}"), vbCr, "{cr}"), vbTab, "{tb}") 
     End With 
    Next 
    End If 

End Sub