Использование Word VBA Outlook электронной почты тело пустое - PullRequest
0 голосов
/ 30 апреля

Я сделал следующий скрипт VBA в Outlook, и он прекрасно работает, когда я получаю тело письма. Я переместил скрипт в слово 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

1 Ответ

0 голосов
/ 04 мая

В следующем коде вы перебираете все элементы в папке и отображаете каждый элемент в новом окне инспектора в Outlook:

For Each myItem In olFolder.Items

MsgBox myItem.Body

Нет необходимости вызывать метод Display, чтобы получить фактическая почта Вместо этого вы можете использовать существующую ссылку.

...