2017-04-21 3 views
0

Ich habe ein Problem mit dem Makro, das ich in Outlook erstellt habe. Um fortzufahren, startet das Makro jedes Mal, wenn ich eine E-Mail erhalte. Dann wird es ein paar andere Sub-, eine Excel-Datei und so eine ändern. Wenn Outlook läuft und ich eine neue E-Mail erhalte, funktioniert alles einwandfrei. Das Problem tritt auf, wenn ich Outlook öffne und mehrere E-Mails gleichzeitig erhalte.Wie kann das Add.Item-Ereignis beim Öffnen von Outlook funktionieren?

Ich nehme an, das Makro hat nicht genug Zeit, um zu beenden, was es mit der ersten E-Mail macht und schon wieder mit dem nächsten zu beginnen.

Gibt es eine Möglichkeit, die nächsten E-Mails im Suspend zu halten, um das Makro für jede E-Mail auszuführen, jeder ist an der Reihe? Oder hast du vielleicht eine andere Lösung?

Vielen Dank.

PS: Ich kann den Code bereitstellen, aber es ist sehr lang.

+1

Haben Sie debuggen, um zu sehen, wo es abstürzt? Ist es immer die gleiche Linie? Kannst du posten, wo es stürzt – Seb

+1

Ich denke, wir müssen den Code sehen und mehr Informationen über das "Problem" erhalten (tut es Fehler aus, hört es einfach auf, was nicht wie erwartet funktioniert). –

+0

Lesen Sie [MCVE] (http://stackoverflow.com/help/mcve). – Rdster

Antwort

0

Das Problem tritt auf, wenn ich Outlook öffne und ich mehr als eine E-Mail zur gleichen Zeit erhalte.

Das NewMailEx Ereignis der Application-Klasse ist einmal für jeden empfangene Artikel gefeuert, die von Microsoft Outlook verarbeitet wird. Das Element kann einer von mehreren verschiedenen Elementtypen sein, z. B. MailItem, MeetingItem oder SharingItem. Der String EntryIDsCollection enthält die diesem Eintrag entsprechende Eintrags-ID.

Das Ereignis NewMailEx wird ausgelöst, wenn eine neue Nachricht im Posteingang ankommt und bevor die Verarbeitung der Client-Regel erfolgt. Sie können die im Array EntryIDCollection zurückgegebene Eintrags-ID verwenden, um die Methode NameSpace.GetItemFromID aufzurufen und das Element zu verarbeiten.

Stellen Sie sicher, dass VBA-Makros aktiviert sind und ausgeführt werden dürfen, wenn Outlook gestartet wird. Überprüfen Sie die Einstellungen von Trust Center in Outlook.

Verwandte Themen