![]() |
Outlook steuern; Bezug auf eine neue E-Mail
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo liebe Community,
über ein Programm erstelle ich in Outlook eine neue E-Mail mit Body und Anhang.
Delphi-Quellcode:
Wie habe ich allerdings die Möglichkeit nachher auf die bereits erstelle E-Mail noch einmal Bezug zu nehmen bzw. generell auf E-Mails im Entwurfmodus zugreifen?
procedure TForm3.btn3Click(Sender: TObject);
var Outlook: OLEVariant; MailItem: Variant; SL: TStringList; S: string; begin try Outlook := GetActiveOleObject('Outlook.Application'); except Outlook := CreateOleObject('Outlook.Application'); end; MailItem := Outlook.CreateItem(0); MailItem.Subject := edtSubject.Text; MailItem.Attachments.Add(Filename); { 20200812 - Automatik Handbücher anhängen } if (edtAutomation.Text = 'KME1') then MailItem.Attachments.Add('....pdf') else if ((edtAutomation.Text = 'KMB4') or (edtAutomation.Text = 'KM4.1')) then MailItem.Attachments.Add('....pdf'); if edtDokTyp.Text = 'RE' then begin SL := TStringList.Create; try SL.LoadFromFile('..\Vorlagen\default_rechnungsausgang.html'); S := SL.Text; S := StringReplace(S,'@FULLNAME@',Name_,[rfReplaceAll]); S := StringReplace(S,'@USERDEF1@',Abteilung_,[rfReplaceAll]); S := StringReplace(S,'@USERDEF2@',Position_,[rfReplaceAll]); S := StringReplace(S,'@PHONE@',Telefon_,[rfReplaceAll]); S := StringReplace(S,'@FAX@',Fax_,[rfReplaceAll]); S := StringReplace(S,'@EMAIL@',EMail_,[rfReplaceAll]); SL.Text := S; MailItem.HTMLBody := SL.Text; finally SL.Free; end; end else if edtDokTyp.Text = 'AB' then begin SL := TStringList.Create; try SL.LoadFromFile('..\Vorlagen\default_auftrag_ausgang.html'); S := SL.Text; S := StringReplace(S,'@FULLNAME@',Name_,[rfReplaceAll]); S := StringReplace(S,'@USERDEF1@',Abteilung_,[rfReplaceAll]); S := StringReplace(S,'@USERDEF2@',Position_,[rfReplaceAll]); S := StringReplace(S,'@PHONE@',Telefon_,[rfReplaceAll]); S := StringReplace(S,'@FAX@',Fax_,[rfReplaceAll]); S := StringReplace(S,'@EMAIL@',EMail_,[rfReplaceAll]); SL.Text := S; MailItem.HTMLBody := SL.Text; finally SL.Free; end; end else if edtDokTyp.Text = 'TG' then begin SL := TStringList.Create; try SL.LoadFromFile('..\Vorlagen\default_tg_ausgang.html'); S := SL.Text; S := StringReplace(S,'@FULLNAME@',Name_,[rfReplaceAll]); S := StringReplace(S,'@USERDEF1@',Abteilung_,[rfReplaceAll]); S := StringReplace(S,'@USERDEF2@',Position_,[rfReplaceAll]); S := StringReplace(S,'@PHONE@',Telefon_,[rfReplaceAll]); S := StringReplace(S,'@FAX@',Fax_,[rfReplaceAll]); S := StringReplace(S,'@EMAIL@',EMail_,[rfReplaceAll]); SL.Text := S; MailItem.HTMLBody := SL.Text; finally SL.Free; end; end; MailItem.Display; Outlook.ActiveWindow.Activate; Anhang 54285 Das Programm ist ein kleiner PDF Viewer mit der Funktion das Dokument direkt in einer E-Mail zu versenden in dem ich eine erstelle. Wenn ich nun ein anderes Dokument öffne (neue Instanz), würde ich gerne dieses Dokument ebenfalls an die bereits erstellte E-Mail packen. Leider bin ich bisher mit meinen Suchbegriffen nicht fündig geworden. Mit freundlichen Grüßen Daniel |
AW: Outlook steuern; Bezug auf eine neue E-Mail
hallo,
vielleciht hilft das weiter ![]() ![]() Gruß |
AW: Outlook steuern; Bezug auf eine neue E-Mail
Hallo mmw,
ja das war ein guter Hinweis aber ich bekomme leider nicht die Anzahl an richtigen Elementen angezeigt. Geöffnet ist Outlook, neue Mail (Hier Mail1), neue Mail (Mail Nummer 2) und neue Mail (Unbenannt). Im Ordner Entwürfe werden aber nur zwei E-Mails angezeigt. Die Mail (Unbenannt) taucht dort aber nicht auf, erst wenn diese Mail einen Betreff bekommt mit einer kleinen Zeitverzögerung. Ich muss mal schauen wie es sich auf mein Programm auswirkt. |
AW: Outlook steuern; Bezug auf eine neue E-Mail
Leider klappt das so noch nicht. Wenn ich aus meinem Programm die E-Mail erstelle hat sie zwar einen Betreff aber es dauert elendig lange bis sie im Ordner Entwürfe sichtbar wird. :(
|
AW: Outlook steuern; Bezug auf eine neue E-Mail
Laut folgender Beschreibung hat das Mailitem die Funktion "Safe".
![]() |
AW: Outlook steuern; Bezug auf eine neue E-Mail
Das ist natürlich nicht ganz die passende Lösung aber sie funktioniert.
Vielen Dank für die Tips. :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz