![]() |
Outlook: Mailadresse der aktuell fokusierten Mail
Hallo Leute,
schöne Grüße aus dem sonnigen Salzburger Land... Ich hätte eine Frage: Outlook hat ja "grundsätzlich" 3 Darstellungsbereiche:
Ich würde jetzt gerne (via Timer ?) die eMailadresse der gerade fokusierten Mail in meiner Delphi7 Anwendung darstellen...egal welcher Ordner gerade aktiv ist... Hat jemand eine Idee, wie ich zu der eMailadresse kommt ? Vielen Dank für Hinweise mit freundlichen Grüßen Erich |
AW: Outlook: Mailadresse der aktuell fokusierten Mail
Liste der Anhänge anzeigen (Anzahl: 4)
Ich schätze das dürfte schwierig werden.
Das Grid liefert außer Klasse und Titel keine Informationen Datum ist von der gleichen Klasse wie Empfänger, liefert aber im Gegesatz zum Empfänger Informationen. An die Handles kommt man, aber wie identifiziert man dir richtigen und wie extrahiert man speziell die Email-Adresse. |
AW: Outlook: Mailadresse der aktuell fokusierten Mail
Warum nicht umgekehrt?
Schreib ein kleines VBA Makro in Outlook und sende bei jeder Änderung der Auswahl eine Message an dein Programm. Ein erster Ansatz könnte z.B. dieses Script sein: ![]() |
AW: Outlook: Mailadresse der aktuell fokusierten Mail
Hm... Über entsprechende Outlook-Schnittstellen müsste es dann aber imho auch gehen! Ich weiß zwar nicht wie genau und ob, aber kombinier doch ein einfach mal den Code von
![]() Zitat:
|
AW: Outlook: Mailadresse der aktuell fokusierten Mail
Hab jetzt einen Ansatz zur Lösung....
ABER: Wie kann ich herausfinden, welches item von "currentFolder.items[..]" selected ist? Unten dargestellter Code funktioniert bis auf die Phantasieangabe "if currentFolder.items[...].selected" Vielen Dank für Hinweise LiGrü Erich
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Buttons,ComObj, ActiveX, OleServer, OutlookXP, StdCtrls, ComCtrls ; type TForm1 = class(TForm) SpeedButton2: TSpeedButton; Label1: TLabel; procedure SpeedButton2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.SpeedButton2Click(Sender: TObject); var i : Integer; NewMail : boolean; Outlook, NmSpace, currentFolder : OleVariant; Begin Outlook := CreateOleObject('Outlook.Application'); //OK NmSpace := Outlook.GetNamespace('MAPI'); //OK NmSpace.Logon(EmptyParam, EmptyParam, False, True); //OK currentFolder := NmSpace.GetDefaultFolder(olFolderInbox); // ?warum gibts nicht: currentFolder := NmSpace.GetDefaultFolder(olCurrentFolder); -> MSDN-Doku hilft mir nicht weiter: Application.ActiveExplorer.CurrentFolder NewMail := (currentFolder.UnreadItemCount > 0); //OK if NewMail then ShowMessage('Ungelesene Nachrichten im Posteingangsordner: '+ inttostr(currentFolder.UnreadItemCount)); for i:=1 to currentFolder.items.Count do begin if currentFolder.items[i].selected then // Ist reine Phantasie !!!!!!!!! WIE KANN ICH SOWAS REALISIEREN begin ShowMessage('Subjekt : '+currentFolder.items[i].Subject+#13+ 'Sendername : '+currentFolder.items[i].SenderName+#13+ 'von : '+currentFolder.items[i].SenderEmailAddress+#13+ 'an : '+currentFolder.items[i].To); end; end; end; end. |
AW: Outlook: Mailadresse der aktuell fokusierten Mail
vielleicht hilft ja
![]() [edit]der erste Link den ich dir genannt habe zeigt ebenfalls wie man auf die selektierten items zugreift[/edit] |
AW: Outlook: Mailadresse der aktuell fokusierten Mail
@bernerbaer: ..leider nicht.
Die VBA´ler machen es via "Set Selection = currentExplorer.Selection", aber via Delphi schaff ich´s nicht... Hat jemand ne idee ? Thanx Erich |
AW: Outlook: Mailadresse der aktuell fokusierten Mail
Na dann hilft vielleicht
![]() |
AW: Outlook: Mailadresse der aktuell fokusierten Mail
:oops: .. irgendwie komischer - das Outlook-Dingens ....
Via OutlookApplication1 greif ich nun auf einzelne Outlook-Nachrichten zu. Ich kann alle möglichen Infos auslesen - NUR NICHT DIE EMALADRESSE DES SENDERS ? Nachricht.SenderName -> Sendername Nachricht.Subject -> Subjektname Nachricht.To_ -> Empfänder eMailadressse Wo bitte finde ich die "Nachricht.SenderEmailAddress" :stupid: Danke Erich
Delphi-Quellcode:
procedure TForm1.SpeedButton2Click(Sender: TObject); var i : Integer; NmSpace : OleVariant; Nachricht : MailItem; Begin OutlookApplication1.Connect; NmSpace := OutlookApplication1.GetNamespace('MAPI'); NmSpace.Logon ('', '', False, False); if OutlookApplication1.ActiveExplorer().Selection.Count > 0 then begin Nachricht:= OutlookApplication1.ActiveExplorer.Selection.Item(1) as _MailItem; label1.Caption:=( 'Sender : '+Nachricht.SenderName+#13+ 'Subjekt : '+Nachricht.Subject+#13+ 'Mailadresse : '+Nachricht {?????????} +#13+ // <<<<<<<------------- !!!! 'Empfänger : '+Nachricht.To_); end; end; end. |
AW: Outlook: Mailadresse der aktuell fokusierten Mail
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:17 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 by Thomas Breitkreuz