skorpion1701 Geschrieben 10. Mai 2010 Geschrieben 10. Mai 2010 Hallo Zusammen, suche derzeit eine Möglichkeit wie an eine E-Mail in Abhängigkeit der Empfängeradresse zwei unterschiedliche E-Mailsignaturen angehangen werden können. Zur Verdeutlichung hier ein paar Beispiele: Beispiel 1: WENN die Empfängeradresse/n ausschließlich „@meinefirma.de“ enthält/enthalten DANN verwende die interne Signatur Beispiel 2: WENN die Empfängeradresse/n ausschließlich „@externefirma.de“ enthält/enthalten DANN verwende die externe Signatur Beispiel 3: WENN die Empfängeradresse/n sowohl „@meinefirma.de“ als auch „@externefirma.de enthält/enthalten DANN verwende die externe Signatur Am schönsten wäre es, wenn es hierfür bereits ein ADD-IN geben würde. Konnte allerdings bisher keins finden L. Daher habe ich versucht mich mit VBA spez. „Private Sub Application_Itemsend…..“ an eine Lösung heranzutasten. Leider funktionierten meine Test-Skripts nicht. Irgendwie scheint er auf das o.g. Ereignis nicht zu reagieren. Habt ihr zufällig einen Rat für mich? Zitieren
tester2k5 Geschrieben 10. Mai 2010 Geschrieben 10. Mai 2010 In Outlook 2007 kann eine Standard Signatur pro E-Mail-Account definiert werden. Gruss, tester2k5 Zitieren
lupo49 Geschrieben 10. Mai 2010 Geschrieben 10. Mai 2010 Wie sehen die VBA-Skripte aus und welche Fehler treten bei der Ausführung auf? Zitieren
skorpion1701 Geschrieben 17. Mai 2010 Autor Geschrieben 17. Mai 2010 Dank der Hilfe eines Kollegen konnte das Problem mit "„Private Sub Application_Itemsend….." gelöst werden. Wenn ich auf den Button "Senden" klicke. Wird das Testskript nun ausgeführt. Das Testskript hatte aber lediglich die Aufgabe die Betreffzeile zu ändern. Wie gesagt taste mich an die Lösung ran. Habe aber unter "http://www.hilpers.com/860800-per-vba-das-feld-einfuegen" ein Skript gefunden, welches eher meinen Anforderungen entspricht (Quelltext siehe unten). Dim Variable1 As String, Signature As String, LineBuffer As String Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean) Dim ans ans = MsgBox("Signatur hinzufügen??", vbYesNo) If ans = vbNo Then Exit Sub If ans = vbYes Then Call SetSignature(SignaturName) End If End Sub Sub SetSignature(ByVal SignatureName As String) Const ID_INSERT As Integer = 30005 Const ID_SIGNATURES As Integer = 31145 Dim objInspector As Outlook.Inspector Dim objCommandBars As Office.CommandBars Dim objCommandBarPopup As Office.CommandBarPopup Dim objCommandBarControl As CommandBarButton Dim objCommandBarControls As CommandBarPopup Dim strButtonName As String Set objInspector = Outlook.ActiveInspector If Not objInspector Is Nothing Then If objInspector.IsWordMail = True Then GoTo ExitProc Set objCommandBars = objInspector.CommandBars Set objCommandBarPopup = objCommandBars.FindControl(, ID_INSERT) If Not objCommandBarPopup Is Nothing Then Set objCommandBarControls = objCommandBars.FindControl(, ID_SIGNATURES) If Not objCommandBarControls Is Nothing Then For Each objCommandBarControl In objCommandBarControls.Controls strButtonName = objCommandBarControl.Caption If strButtonName = SignatureName Then objCommandBarControl.Execute GoTo ExitProc End If Next objCommandBarPopup.Controls(1).Execute End If End If End If ExitProc: Set objCommandBarControl = Nothing Set objCommandBarPopup = Nothing Set objCommandBars = Nothing Set objInspector = Nothing End Sub Leider scheint das Skript unter Outlook 2007 nicht zu funktionieren. Muss aber auch zugeben, dass ich nicht jede Zeile verstehe. Kennt jemand von euch zufällig Quellen wo man die Syntax von VBA unter Outlook nachschlagen könnte? Ist ein wenig schwierig ohne genaue Kenntnisse über die Syntax bzw. Objekte wie z.B. Outlook.ActiveInspector eine Lösung zu erarbeiten..... Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.