2016-06-03 1 views
0

Je cherche à créer une règle qui ajoutera de manière conditionnelle un destinataire BCC en fonction du nom de domaine des destinataires To/CC. J'ai déjà identifié this question comme quelque chose de similaire, mais il ne semble pas avoir été résolu.Outlook 2007 VBA - BCC en fonction des destinataires To/CC

Le code de départ est comme ci-dessous:

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean) 
Dim objRecip As Recipient 
Dim strMsg As String 
Dim res As Integer 
Dim strBcc As String 
On Error Resume Next 

' #### USER OPTIONS #### 
' address for Bcc -- must be SMTP address or resolvable 
' to a name in the address book 

strBcc = "[email protected]" 

Set objRecip = Item.Recipients.Add(strBcc) 
objRecip.Type = olBCC 
If Not objRecip.Resolve Then 
strMsg = "Could not resolve the Bcc recipient. " & _ 
"Do you want still to send the message?" 
res = MsgBox(strMsg, vbYesNo + vbDefaultButton1, _ 
"Could Not Resolve Bcc Recipient") 
If res = vbNo Then 
Cancel = True 
End If 
End If 

Set objRecip = Nothing 
End Sub 

En pseudo-code Je cherche à ajouter les conditionals suivants à la chaîne strBCC:

If ToCCRecipientDomain = "@example1.co.uk" 
    Then strBCC = "[email protected]" 
ElseIf ToCCRecipientDomain ="@example2.co.uk" 
    Then strBCC = "[email protected]" 
ElseIf ToCCRecipientDomain ="@example3.co.uk" 
    Then strBCC = "[email protected]" 
Else 
    Then Cancel = True 
End If 

Pour les personnes intéressées par l'application/raison Pour cela, je cherche à créer une liste d'emails envoyés à un client sur un forum Trello pour un projet particulier, qui dépendra de l'adresse email envoyée.

Répondre

0

Je pense que je suis proche de cela comme ci-dessous, en ajoutant simplement des lignes supplémentaires Si & EndIf lorsque des conditions supplémentaires sont nécessaires.

If InStr(Item.Recipients.Address, "@example1.co.uk") Then 
    strBcc = "[email protected]" 
If InStr(Item.Recipients.Address, "@example2.co.uk") Then 
    strBcc = "[email protected]" 
Else 
    Cancel = True 
End If 
End If 
+0

Je pense que le problème est dans le "Item.Recipients.Address" - Je ne pense pas que cela appelle l'adresse des destinataires de l'email –