Automatischer BCC je nach E-Mail-Konto

Home-›Foren-›Outlook-›Outlook VBA-›Automatischer BCC je nach E-Mail-Konto

11 Antworten anzeigen - 1 bis 11 (von insgesamt 11)
  • Autor
    Beitrag
  • #40930
    Unbekannt
    Teilnehmer

    Hallo,

    ich habe über den folgenden VBA-Code erreicht, dass jede gesendete Mail per BCC nochmal an mich gesendet wird.
    [code]Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    Dim objMe As Recipient
    Set objMe = Item.Recipients.Add(\“x@y.com\“)
    objMe.Type = olBCC
    objMe.Resolve
    Set objMe = Nothing
    End Sub
    [/code]

    Da ich aber mehrere Mailkonten habe, möchte ich, dass dies nicht bei jeder Mail geschieht sondern nur wenn die Mail über ein bestimmtes Konto gesendet wird. Wie kann ich das realisieren?

    #143348
    MichaelBauer
    Teilnehmer

    Übers Outlook-Objektmodell geht das erst ab Version 2007. dort gibt es die MailItem.Account Eigenschaft.
    Für OL XP und 2003 geht es über CDO 1.21 oder die Redemption. Mit beiden Bibliotheken kannst Du die Mapi-Eigenschaft 0x808E001E suchen bzw. lesen. Gibt es die, dann steht die Kontoinfo drin; gibt es die nciht, wird übers Standardkonto gesendet.

    Viele Grüße
    Michael Bauer

    #143351
    Unbekannt
    Teilnehmer

    Uh öh äh Danke 🙂
    Hab Outlook 2007 aber so überhaupt keine Ahnung von VBA… den Codeschnipsel da oben habe ich im Netz gefunden. Wäre nett wenn du mir das etwas \“konkreter\“ beschreiben könntest. Dankö :redhead:

    #143366
    MichaelBauer
    Teilnehmer

    Du kannst den Code in ItemSend erweitern:
    [code]
    Dim Account as Outlook.Account

    Set Account=Item.SendUsingAccount

    If Account.DisplayName = \“was auch immer\“ Then
    \‘ hier Dein Code
    Endif
    [/code]

    Viele Grüße
    Michael Bauer

    #143369
    Unbekannt
    Teilnehmer

    Erstmal Danke – leider funktioniert das aber irgendwie nicht. Habe den Code folgenderma�en umgebaut:

    [code]Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    Dim Account As Outlook.Account
    Set Account = Item.SendUsingAccount
    If Account.DisplayName = \“xxxxx@gmx.de\“ Then
    Dim objMe As Recipient
    Set objMe = Item.Recipients.Add(\“xxxxxx@googlemail.com\“)
    objMe.Type = olBCC
    objMe.Resolve
    Set objMe = Nothing
    End If
    End Sub
    [/code]

    Es kommt zwar keine Fehlermeldung oder sonst was aber es wird halt einfach nie der BCC gesetzt. Meine Konten heissen wie die Mailadressen zu denen sie geh�ren. Kann das ein Problem sein?

    [Editiert am 23/3/2007 von Mailhilfe]

    #143374
    MichaelBauer
    Teilnehmer

    Du kannst mit der Maus die Zeile
    If Account.DisplayName = \“xxxxx@gmx.de\“ Then
    wählen und mit f9 einen Haltepunkt setzen. Dann sende eine Mail mit dem gesuchten Konto. Die Codeausführung bleibt am Haltepunkt stehen. Gehe dann mit der Maus über \’SendUsingAccount\‘ und sieh nach, was drin steht (auch Groß-/KLeinschreibung beachten).

    Viele Grüße
    Michael Bauer

    #143502
    Unbekannt
    Teilnehmer

    Hab ich gemacht… anscheinend kommt das Programm aber nicht an den Punkt – die \“Codeausführung\“ bleibt nirgends stehen.

    #143503
    MichaelBauer
    Teilnehmer

    Ok, Du kannst es vorsichtshalber nochmal mit einem Haltepunkt auf Application_ItemSend probieren. Aber es sieht so aus, dass der Code überhaupt nciht ausgeführt wird.

    Führe nach Änderungen am Code bitte einen Neustart Outlooks durch. Außerdem muss natürlich die Sicherheit gesetzt sein, dass VBA läuft (Extras/Sicherheit niedrig oder mittel, oder hoch und mit Selfcert.exe ein Zertifikat erstellen.)

    Viele Grüße
    Michael Bauer

    #143790
    Unbekannt
    Teilnehmer

    Juche jetzt hat es geklappt. Es lag wohl an den Sicherheitseinstellungen die sich ominös verstellt hatten.
    Gibt es eine Möglichkeit dieses eine Makro dauerhaft als vertrauenswürdig einzustufen damit ich die allgemeinen Sicherheitseinstellungen nicht dauerhaft auf \“Keine Prüfung..\“ stellen muss?

    #143793
    MichaelBauer
    Teilnehmer

    Für ein einzelnes Makro geht das nicht, aber für die komplette Projektdatei. Google bitte nach \’SelfCert.exe\‘! Irgendwo gibt es sicherlich eine Anleitung dazu.

    Viele Grüße
    Michael Bauer

    #143796
    Unbekannt
    Teilnehmer

    Sehr schön – habs hinbekommen. Danke!

11 Antworten anzeigen - 1 bis 11 (von insgesamt 11)

-

Hat Ihnen der Beitrag gefallen?

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (Keine Bewertung vorhanden)
Loading...