Home-›Foren-›Outlook-›Outlook VBA-›Automatischer BCC je nach E-Mail-Konto
- This topic has 10 Antworten, 2 Stimmen, and was last updated 12:20 um 3. April 2007 by Unbekannt.
- AutorBeitrag
- 22. März 2007 um 11:04 #40930UnbekanntParticipant
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 #143348MichaelBauerParticipantÜ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 #143351UnbekanntParticipantUh ö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 #143366MichaelBauerParticipantDu 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 #143369UnbekanntParticipantErstmal 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 #143374MichaelBauerParticipantDu 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 #143502UnbekanntParticipantHab ich gemacht… anscheinend kommt das Programm aber nicht an den Punkt – die \”Codeausführung\” bleibt nirgends stehen.
26. März 2007 um 06:21 #143503MichaelBauerParticipantOk, 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 #143790UnbekanntParticipantJuche 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 #143793MichaelBauerParticipantFü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 #143796UnbekanntParticipantSehr schön – habs hinbekommen. Danke!
- AutorBeitrag