Veröffentlicht 5. November 200321 j Hallo, ich möchte eine Email beim Senden Speichern lassen, wenn ich das über ein Makro in Outlok mache, klappt es auch. Aber wenn ich es über ein AddIn mache, klappt es nicht. Der Code sieht wie folgt aus: Dim olApp As Outlook.Application Dim myItem As MailItem Dim myInsp As Outlook.Inspector Set olApp = CreateObject("Outlook.Application") Set myInsp = olApp.ActiveInspector Set myItem = myInsp.CurrentItem On Error GoTo Abbruch myItem.Save Abbruch: MsgBox Err.Description Es kommt ein fehler, allerdings ist der Err.Description leer. Hat jemand eine Idee für mich ??? -- Mit freundlichen Grüssen Patrick P. Karré
5. November 200321 j Original geschrieben von Patrick.Karre [...] On Error GoTo Abbruch myItem.Save Abbruch: MsgBox Err.Description [...] so wie dein code bisher aussieht, wird die anweisung MsgBox Err.Description immer ausgeführt, auch wenn kein fehler auftritt. setz vor die goto-marke mal ein exit sub. dann wird die routine verlassen, ausser es tritt ein fehler auf. hth...
6. November 200321 j Autor Hallo, ich habe die EXIT FUNCTION eingefügt. Allerdings wird die Email nicht gespeichert. Wenn ich manuell auf Datei -> Speichern gehe, wird die Email gespeichert, warum nicht bei myItem.Save ??? -- Mit freundlichen Grüssen Patrick P. Karré
7. November 200321 j Option Explicit Private AppOutlook As New Outlook.Application Private ItemMail As Outlook.MailItem Private ItemAttachment As Outlook.Attachments Public Function SendOutlookMail(strBetreff As String, strEmpfaenger As String, strNachricht As String, strAnhang As String) As Boolean Dim fehler As Long On Error Resume Next 'Versenden einer E-Mail mit Anhang 'Fehler, falls syntaktisch inkorrekte Adresse fehler = 0 Set ItemMail = AppOutlook.CreateItem(olMailItem) Set ItemAttachment = ItemMail.Attachments With ItemMail .Subject = strBetreff .To = strEmpfaenger .Body = strNachricht If Trim(strAnhang) <> "" Then ItemAttachment.Add strAnhang 'Speichern im Rootverzeichnis als Vorlage VOR dem Senden .SaveAs "c:\" & .Subject & ".oft", olTemplate .Send End With fehler = Err.Number SendOutlookMail = Not (fehler <> 0) Set AppOutlook = Nothing Set ItemMail = Nothing Set ItemAttachment = Nothing On Error GoTo 0 End Function So, die Funktion "SendOutlookMail" versendet Dir eine E-Mail und speichert sie als Vorlage. Das Verzeichnis/den Namen musst Du natürlich selber wählen. HTH
7. November 200321 j Autor Das Problem ist, das ich bei dem Befehl SEND und SaveAs eine meldung von Outlook bekommme, das eine fremde Application auf Outllok zugreifen möchte. Ich habe auch noch nicht herausgefunden, wie ich mein ADdIn als Vertrauenswürdig einstufen kann. Hast du da eine Idee ??? Gruß Patrick
7. November 200321 j Zu dem "fremde Applikation"-Problem fällt mir spontan nichts ein. Nur eine Frage zur Klärung. Programmierst Du in VB, oder VBA?
7. November 200321 j Autor Ich Programmiere das AddIn in VB. Mit ist mittlerweile aufgefallen, das sobald der Senden Button gedrückt wird, die Email in den Ordner Postausgang verschoben wird und daher nicht mehr mit der Emailvorlage zusammenhängt. Das erklärt auch, warum das Speichern geht wenn die Email nicht parallel gesendet wird. Meine Idee wäre jetzt einen eigenen Button "Speichern und Senden" wobai ich beim Senden wieder auf mein Vertrauensproblem stosse. Eine Idee ??? Gruß Patrick
7. November 200321 j Original geschrieben von Patrick.Karre ... Mit ist mittlerweile aufgefallen, das sobald der Senden Button gedrückt wird, die Email in den Ordner Postausgang verschoben wird und daher nicht mehr mit der Emailvorlage zusammenhängt. ... Deshalb speichere ich auch bevor ich die E-Mail versende, dann ist die E-Mail noch an ihrem Platz. Das Vertrauensproblem ist mir neu, das trat bei mir nie auf. Aber lasse ich mir mal durch den Kopf gehen.
12. November 200321 j Autor Ohne einen MS-Exchenge Server ist es unmöglich ein Com-AddIn als Vertrauenswürdig einzustufen. Wollte dies nur mitteilen, das nicht weiter versucht wird eine Lösung zu finden. Danke für die hilfe. Gruß Patrick
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.