Black-Rider Geschrieben 11. März 2010 Geschrieben 11. März 2010 Hallo, ich würde gerne für Outlook ein Addin schreiben, dass die aktuelle E-Mail ausließt. Sprich ich öffne eine E-Mail in Outlook und betätige einen Button, der mir den aktuellen E-Mail Text, Absender, Empfänger in Variablen schreibt, die ich dann später weiter verarbeiten kann. Leider finde ich im Internet nur wenig hilfreiche Seiten. In der MSDN Libary kann ich nur ein Beispiel finden, wie ich eine E-Mail mit dem Addin schreibe, jedoch nicht, wie ich z.B. auf die aktuell geöffnete E-Mail zugreife. Kann mir jemand evt. ein paar Tipps geben wie ich weiter komme? Oder hat jemand viell. schon mal ein solches Addin geschrieben? LG Black-Rider
El Ninjo Geschrieben 11. März 2010 Geschrieben 11. März 2010 An welcher Stelle hängst du denn? Kannst du denn schon auf die E-Mail bzw. Outlook zugreifen?
Black-Rider Geschrieben 11. März 2010 Autor Geschrieben 11. März 2010 Genau da hänge ich. Wie kann ich die aktive E-Mail aus Outlook erfassen? Zugriff auf Outlook habe ich mittels Microsoft.Office.Interop.Outlook & Microsoft.Office.Core
xk4fu Geschrieben 11. März 2010 Geschrieben 11. März 2010 hier mal ein paar kleine hinweise ;-) private Ol.Application myApplication; public void OnConnection(object application, Extensibility.ext_ConnectMode connectMode, object addInInst, ref System.Array custom) { myApplication = (Ol.Application)application; } (Ol.MailItem)myApplication.ActiveInspector().CurrentItem;
xk4fu Geschrieben 11. März 2010 Geschrieben 11. März 2010 Ol steht für using Ol = Microsoft.Office.Interop.Outlook;
Black-Rider Geschrieben 11. März 2010 Autor Geschrieben 11. März 2010 Das mit OL hab ich mir schon gedacht. Leider scheint das ADDIn sich aufzuhängen. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Xml.Linq; using System.Windows.Forms; using Outlook = Microsoft.Office.Interop.Outlook; using Office = Microsoft.Office.Core; using Extensibility; ..... public partial class ThisAddIn { Outlook.Application myApplication; .... public void OnConnection(object application, ext_ConnectMode connectMode, object addInInst, ref Array custom) { myApplication = (Outlook.Application)application; } ..... private void ButtonClick(Office.CommandBarButton ctrl,ref bool cancel) { MessageBox.Show("You clicked: " + ctrl.Caption); Outlook.MailItem active_mail = (Outlook.MailItem)myApplication.ActiveInspector().CurrentItem; MessageBox.Show(active_mail.Body); } .... } Die erste Messagebox wird noch ausgegeben. Doch dann passiert nichts weiter. Der Debugger bricht ohne Fehlermeldung einfach ab. Die Methode OnConnection wird auch komischer weise nicht aufgerufen. Ist es richtig, dass ich die Extensibility.dll extra einbinden musste? Sprich ich musste die DLL extra ins Projekt kopieren... LG Black-Rider
xk4fu Geschrieben 11. März 2010 Geschrieben 11. März 2010 (bearbeitet) ja wenn die onconnection nicht aufgerufen wird, hast du auch keine referenz auf die application d.h. myApplication ist null... wenn du im vs --> neu --> projekt --> other project types --> extensibility --> shared add-in klickst hast du alles schon parat wahlweise kannst du auch dies per hand tun du musst halt das interface Extensibility.IDTExtensibility2 einbinden z.b.: public partial class ThisAddIn : Object, Extensibility.IDTExtensibility2 Bearbeitet 11. März 2010 von xk4fu
Black-Rider Geschrieben 11. März 2010 Autor Geschrieben 11. März 2010 Ich habe mich jetzt für den Weg entscheiden, das Projekt, wie oben beschreiben, neu zu erstellen. Ich habe jetzt unter Projekt->neu->andere projekttypen->erweiterungen ein gemeinsames Addin erstellt. Jedoch ist in der dadruch erstellten Connect.cs Microsoft.Office.Interop.Outlook nicht verfügbar. Es gibt leider nur Microsoft.Office.Core
xk4fu Geschrieben 11. März 2010 Geschrieben 11. März 2010 dann referenziers halt add reference --> outlook ...
Black-Rider Geschrieben 11. März 2010 Autor Geschrieben 11. März 2010 Was muss ich einstellen, damit sich das Projekt beim Debuggen in Outlook startet und nicht Visual Studio nochmal neu aufgeht ? Unter den Projekteingenschaften als externes Programm einfach Outlook auswählen?
Black-Rider Geschrieben 12. März 2010 Autor Geschrieben 12. März 2010 Hat schon alles geklappt vielen dank ;-)
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden