Home-›Foren-›Outlook-›Outlook VBA-›Automatischer BCC je nach E-Mail-Konto
- Dieses Thema hat 10 Antworten sowie 2 Stimmen und wurde zuletzt vor 12:20 um 3. April 2007 von Unbekannt aktualisiert.
- AutorBeitrag
- 22. März 2007 um 11:04 #40930UnbekanntTeilnehmer
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?
22. März 2007 um 16:07 #143348MichaelBauerTeilnehmerÜ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 Bauer22. März 2007 um 18:10 #143351UnbekanntTeilnehmerUh ö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:23. März 2007 um 07:21 #143366MichaelBauerTeilnehmerDu kannst den Code in ItemSend erweitern:
[code]
Dim Account as Outlook.AccountSet Account=Item.SendUsingAccount
If Account.DisplayName = \”was auch immer\” Then
\’ hier Dein Code
Endif
[/code]Viele Grüße
Michael Bauer23. März 2007 um 08:54 #143369UnbekanntTeilnehmerErstmal 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]
23. März 2007 um 09:40 #143374MichaelBauerTeilnehmerDu 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 Bauer25. März 2007 um 23:35 #143502UnbekanntTeilnehmerHab ich gemacht… anscheinend kommt das Programm aber nicht an den Punkt – die \”Codeausführung\” bleibt nirgends stehen.
26. März 2007 um 06:21 #143503MichaelBauerTeilnehmerOk, 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 Bauer3. April 2007 um 09:57 #143790UnbekanntTeilnehmerJuche 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?3. April 2007 um 10:54 #143793MichaelBauerTeilnehmerFü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 Bauer3. April 2007 um 12:20 #143796UnbekanntTeilnehmerSehr schön – habs hinbekommen. Danke!
- AutorBeitrag