Hallo,
ich habe in Delphi ein Programm entwickelt, was in Outlook eine neue Nachricht erzeugt und mit Inhalt füllt. Das funktioniert soweit. Allerdings tritt ein Fehler auf, wenn Outlook von einem anderen Programm "blockiert" wird. Wenn z.B. ein PDF-Mailer eine neue Nachricht erzeugt hat und diese noch nicht versendet wurde, erscheint die Fehlermeldung "Ein Dialogfeld ist geöffnet". Nun würde ich gern vorher schauen, ob ich meine Nachricht erzeugen kann oder nicht, um diesen Fehler zu umgehen.
Ich arbeite mich zur Zeit durch die VBA-Hilfe von Outlook, komme aber nicht wirklich weiter. Ich kann mir zwar ein neues MailItem erzeugen und von diesem z.B. die Caption auslesen lassen, aber das bringt mich auch nicht weiter, da es ja immer auf mein neu erzeugtes MailItem zugreift. In der VBA-Hilfe steht unter den Elementen des Application-Objekts keine Methode, die mir alle bestehenden Items auflistet. Ich kann nur mit CreateItem ein neues anlegen.
Hat jemand eine Idee, wie ich das Problem mit VBA lösen kann?
Hier mal ein wenig Quelltext:
etOutlook := CreateOleObject('Outlook.Application');
etMail := etOutlook.CreateItem(olMailItem); // 0 MailItem
etInspektor := etMail.GetInspector;
ShowMessage(etInspektor.Caption); // nur Caption von neu erzeugten Item
|