首页 > 解决方案 > 使用 Word VBA Outlook 电子邮件正文为空白

问题描述

我在 Outlook 中制作了以下 vba 脚本,当我收到电子邮件正文时它工作正常。我将脚本移动到 word vba,现在当我收到电子邮件正文时,它是空的。我可以正常访问主题和其他字段,但电子邮件正文字段为空白。如何访问电子邮件的正文?

Dim appOutlook As Object
Dim olNs As Object
Dim olFolder As Object
Dim olItem As Object
Dim iRow As Integer
Dim email_body As String

' Get/create Outlook Application
On Error Resume Next
Set appOutlook = GetObject(, "Outlook.Application")
If appOutlook Is Nothing Then
Set appOutlook = CreateObject("Outlook.Application")
End If
On Error GoTo 0

Set olNs = appOutlook.GetNamespace("MAPI")
Set olFolder = olNs.GetDefaultFolder(6) _
                .Parent.Folders("folder2")  ' 6 == Inbox for some reason


For iRow = 1 To olFolder.Items.Count
Next iRow

For Each myItem In olFolder.Items
myItem.Display
 Dim Email As Outlook.MailItem
Set Email = appOutlook.ActiveInspector.CurrentItem
myItem.Close olDiscard
'Word document
Dim wdApp As Word.Application
Set wdApp = CreateObject("Word.Application")

Dim wdDoc As Word.Document
Set wdDoc = wdApp.Documents.Add
    wdDoc.Activate

Dim wdRange As Word.Range
Set wdRange = wdDoc.Range(0, 0)
email_body = Email.Body

标签: vbaoutlookms-word

解决方案


在以下代码中,您遍历文件夹中的所有项目并在 Outlook 的新检查器窗口中显示每个项目:

For Each myItem In olFolder.Items

MsgBox myItem.Body

无需调用该Display方法来获取实际的邮件项。相反,您可以使用现有的参考。


推荐阅读