/ / Excel und Outlook 2016 - Methode 'body' von object'_mailItem 'fehlgeschlagener Fehler - Excel, vba, E-Mail, Import, Ausblick

Excel und Outlook 2016 - Methode 'body' von object'_mailItem 'fehlgeschlagener Fehler - Excel, VBA, E-Mail, Import, Outlook

Guten Morgen allerseits

Ich hoffe, ich kann dich um Hilfe bitten. Ich habe ein Programm in Excel 2010 geschrieben, um E-Mails in einem ausgewählten Outlook 2010-Ordner zu durchsuchen und Informationen aus dem E-Mail-Text (HTML) abzurufen. Kürzlich wurde ich auf Office 2016 aktualisiert. Seitdem bekomme ich einen Fehler, wenn ich bestimmte Eigenschaften des MailItem-Objekts verwende. Ich kann den Betreff der E-Mail nach Excel ziehen, aber bestimmte Eigenschaften verursachen eine "Methode" des Objekts Fehler "_mailItem" (einschließlich der Eigenschaften .Body und .To). Hier ist eine vereinfachte Version des Codes, den ich nur zur Diagnose dieses Problems verwende:

Sub GatherInfo()

Dim ObjOutlook As Object
Dim MyNamespace As Object
Dim FormFolder As Object

Set ObjOutlook = GetObject(, "Outlook Application")
Set MyNamespace = ObjOutlook.GetNamespace("MAPI")
Set FormFolder = MyNamespace.PickFolder

For i = 1 To FormFolder.Items.Count

Range("A2").Select
ActiveCell.Value = FormFolder.Items(i).Subject
ActiveCell.Offset(0, 1).Value = FormFolder.Items(i).To

End Sub

Das führt zu: Laufzeitfehler "-2147467259 (80004005)": Methode "An" des Objekts "_MailItem" ist fehlgeschlagen

Ich habe etwas recherchiert und frage mich, ob OutlookDie Sicherheitseinstellungen 2016 könnten daran schuld sein. Dies ist ein Firmen-E-Mail-Konto, das auf einem Exchange-Server ausgeführt wird. Denken Sie, dass ich daran gehindert werden könnte, auf den Körper / Absender der E-Mail zuzugreifen? Es ist nur merkwürdig, dass die Betreffseigenschaft der E-Mail funktioniert, nicht aber der Körper / die Eigenschaften.

Dinge, die ich ausgeschlossen habe:

1) Ich habe sowohl Klartext- als auch HTML-basierte E-Mails mit dem gleichen Ergebnis gesendet.
2) Ich habe versucht, die Outlook-Objekte frühzeitig zu binden (Dim ObjOutlook als Outlook.Application usw.).

Ich fange an, hier verzweifelt zu werden, und kann die Ursache nicht finden. Jede Hilfe, Ideen, Umgehungsmöglichkeiten, alles wäre so dankbar.

Danke euch allen!

Antworten:

0 für die Antwort № 1

Vermeiden Sie die Verwendung mehrerer Punkte und prüfen Sie, ob Sie wirklich eine MailItem Objekt (können Sie auch haben ReportItem oder MeetingItem):

set items = FormFolder.Items
For i = 1 To items.Count
set item = items.Item(i)
if item.Class = 43 Then
Range("A2").Select
ActiveCell.Value = item.Subject
ActiveCell.Offset(0, 1).Value = item.To
End If
set item = Nothing
next
set items = Nothing