Auto BCC VBA macro: how to add exceptions?

Status
Not open for further replies.

Diane Poremsky

Senior Member
Outlook version
Outlook 2016 32 bit
Email Account
Office 365 Exchange
it would go at the top of the macro. if you need to do this for a multiple names, i would use categories or a keyword in the subject.
if item.categories = "no bcc" then

exit sub

else

'bcc code

end if
 

Diane Poremsky

Senior Member
Outlook version
Outlook 2016 32 bit
Email Account
Office 365 Exchange
everything before the Private is the problem. the code goes in the macro, not before.

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

if item.categories = "no bcc" then
exit sub
else

' #### USER OPTIONS ####
' address for Bcc -- must be SMTP address
' or resolvable to a name in the address book
strBcc = "address@domain.com"
Set objRecip = Item.Recipients.Add(strBcc)
objRecip.Type = olBCC
If Not objRecip.Resolve Then
strMsg = "Could not resolve the Bcc recipient. " & _
"Do you want to send the message?"
res = MsgBox(strMsg, vbYesNo + vbDefaultButton1, _
"Could Not Resolve Bcc")
If res = vbNo Then
Cancel = True
End If
End If



end if

Set objRecip = Nothing

End Sub
 

Diane Poremsky

Senior Member
Outlook version
Outlook 2016 32 bit
Email Account
Office 365 Exchange
You'd probably want to check for a category, either using if item.categories <> "bcc" then

or run the code if the category exists

if item.categories = "bcc" then

' bcc code

else

end if
 

boppy2010

Senior Member
Unfortunately this is my first exposure to VBA plus I have a cold so my head is not working right. I've moved that text but still getting an error, albeit it in a different place:

http://imm.io/19xQ9

I've pasted the code here in the hopes that you may take pity on my befuddled state and put it in the right order ...

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 = "1kawa9@mails.zohocrm.com"

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

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

If Item.Categories = "personal" Then

Exit Sub

Else

'bcc code

end if Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)

' #### USER OPTIONS ####

' address for Bcc -- must be SMTP address or resolvable

' to a name in the address book

strBcc = "1kawa9@mails.zohocrm.com"

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
 

Diane Poremsky

Senior Member
Outlook version
Outlook 2016 32 bit
Email Account
Office 365 Exchange
I think its still the red line - in the sample above, you have

end if Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)

it should be

end if

end sub

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
 

Diane Poremsky

Senior Member
Outlook version
Outlook 2016 32 bit
Email Account
Office 365 Exchange
It looks like you have 2 or 3 different copies of the macro or bits of the macro. You only need one macro, if you want to use different bcc addresses, you need to use if statements. This sample bcc's different addresses based on the category you assigned to the item.

Code:
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
 
   If Item.Categories = "Personal" Then
 
   ' #### USER OPTIONS ####
   ' address for Bcc -- must be SMTP address
   ' or resolvable to a name in the address book
     strBcc = "address@domain.com" 
 
ElseIf Item.Categories = "Important" Then
     strBcc = "new@address.com"
  
    Else
     Exit Sub
   End If
 
   Set objRecip = Item.Recipients.Add(strBcc)
   objRecip.Type = olBCC
   If Not objRecip.Resolve Then
       strMsg = "Could not resolve the Bcc recipient. " & _
                "Do you want to send the message?"
       res = MsgBox(strMsg, vbYesNo + vbDefaultButton1, _
               "Could Not Resolve Bcc")
       If res = vbNo Then
           Cancel = True
       End If
   End If
   Set objRecip = Nothing 
 
End Sub
 

boppy2010

Senior Member
So in this section:
strBcc = "address@domain.com"
ElseIf Item.Categories = "Important" Then
strBcc = "new@address.com"

> .. I presume the first address@domain is my Zoho CRM address but what goes in "new@address.com"?

But then it doesn't seem to be using the "personal" category to add exceptions to the bcc.
 

Diane Poremsky

Senior Member
Outlook version
Outlook 2016 32 bit
Email Account
Office 365 Exchange
the second address is if you want to BCC to other addresses. if you only use one bcc, use
If Item.Categories = "Personal" Then

' #### USER OPTIONS ####
' address for Bcc -- must be SMTP address
' or resolvable to a name in the address book
strBcc = "address@domain.com"
Else
Exit Sub
End If

If you want to BCC everything except items marked personal (or whatever category you decide),

use If Item.Categories <> "Personal" Then

and add a category when you don't want to BCC a message.
 

boppy2010

Senior Member
Well this is what I have now and it's not bbc-ing:
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

If Item.Categories = "Personal" Then

' #### USER OPTIONS ####
' address for Bcc -- must be SMTP address
' or resolvable to a name in the address book
strBcc = "1kawa9@mails.zohocrm.com"

Else
Exit Sub
End If

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

Set objRecip = Nothing
End Sub
 

Diane Poremsky

Senior Member
Outlook version
Outlook 2016 32 bit
Email Account
Office 365 Exchange
Did you set a category on the message you were sending?

Is the macro in ThisOutlookSession?

Is macro security set to low?
 

boppy2010

Senior Member
No I want to BCC ALL addresses except those marked personal. it would be too complicated to make a category for every other email I send.
 

Diane Poremsky

Senior Member
Outlook version
Outlook 2016 32 bit
Email Account
Office 365 Exchange
Right, you want the default to the most used.

This should be

If Item.Categories <> "Personal" Then
' #### USER OPTIONS ####
' address for Bcc -- must be SMTP address
' or resolvable to a name in the address book
strBcc = "1kawa9@mails.zohocrm.com"
Else
Exit Sub
End If

That will tell it to set the bcc address and continue if the category is not personal or is not present. If its found, the macro exits.
 
Status
Not open for further replies.
Similar threads
Thread starter Title Forum Replies Date
S Rule to Auto-forward/re-direct a specific incoming email to a group via BCC? Using Outlook 1
C Auto Run VBA Code on new email Outlook VBA and Custom Forms 1
S Outlook Macro to send auto acknowledge mail only to new mails received to a specific shared inbox Outlook VBA and Custom Forms 0
V Auto-Submitted: auto-replied in header Using Outlook 0
R Auto display of new email does not work on non-default account Outlook VBA and Custom Forms 0
B Outlook 2016 Auto-archive creates new folder Using Outlook 4
J Edit auto-complete list in Outlook 2016+/365? Using Outlook 0
P Auto assign shared mailbox Outlook VBA and Custom Forms 1
M Outlook 2010 Problem with OutLook 2010 32 bit, after Windows Auto Update Using Outlook 3
P [SOLVED] Auto remove [EXTERNAL] from subject Using Outlook 14
Z Add text to auto-forwarded e-mail Outlook VBA and Custom Forms 4
N Disable Auto Read Receipts sent after using Advanced Find Using Outlook 4
Q Prompt button to auto turn on Out of Office Outlook VBA and Custom Forms 3
P Auto Insert Current Date or Time into Email Subject Outlook VBA and Custom Forms 2
S Messages moved / deleted by auto-archive are not synchronized to exchange Exchange Server Administration 8
B Outlook 2010 is Auto Purging when not configured for that Using Outlook 1
M VBA to auto forward message with new subject and body text Outlook VBA and Custom Forms 8
A Auto Accept Meetings from the General Calendar Using Outlook 3
R auto send email when meeting closes from a shared calendar only Outlook VBA and Custom Forms 2
S auto-mapping mailboxes in outlook impacting an ost file? Exchange Server Administration 2
M Auto expand Distribution List Before Sending Email Outlook VBA and Custom Forms 1
M Auto-export mail to Excel Outlook VBA and Custom Forms 2
Ms_Cynic Auto-pasting email content in calendar appt? Using Outlook 2
R How Do I insert images in and Auto Reply Using Outlook 3
S Received mail as part of DL, need to auto-CC the same when replying Outlook VBA and Custom Forms 5
T Have Outlook 2016 suggest email address auto complete entries directly from the user's contacts list Using Outlook 10
T Have Outlook 2016 suggest email address auto complete entries directly from the user's contacts list Using Outlook 0
P Auto scroll to specific folder in Folder Pane Outlook VBA and Custom Forms 3
C Auto categorize duplicate subjects Outlook VBA and Custom Forms 11
N Auto-complete - block select emails Using Outlook 3
C Auto save outlook attachments when email is received Outlook VBA and Custom Forms 1
J HELP- Rule to auto strip prepend from external emails Using Outlook 0
S BCM Auto Backup Data and Customizations BCM (Business Contact Manager) 6
G Auto accept meeting request for non primary account Outlook VBA and Custom Forms 1
J Outlook Rules - Changing auto-submit address in multiple rules, according to rule name Outlook VBA and Custom Forms 0
E Outlook Form - Voting Responses Not Auto Processing If Form Contains Any Code Outlook VBA and Custom Forms 0
J Auto Forward - Include Attachment and change Subject depending on original sender Outlook VBA and Custom Forms 3
K Extract email address from body and auto-reply outlook Using Outlook 1
S Auto move search results to folder Outlook VBA and Custom Forms 0
E Outlook 2010 disable date auto-complete Using Outlook 2
C Auto subject,name,email,deferred Using Outlook 2
ashcosta2 Auto Reply rule based on speficied time Outlook VBA and Custom Forms 0
B Auto Preview Attachment in Inspector Reading Pane Outlook VBA and Custom Forms 1
Z Auto Forward Using Outlook 4
M can anyone recommend an alternative to DS auto-followup? Using Outlook 2
S Rules to auto redirect Using Outlook 5
B Auto Save of Attachments from Multiple Emails and forward attachments to user group Outlook VBA and Custom Forms 1
A Auto Insert of filename when selecting 'Remove Attachment' Using Outlook 1
C Auto Add a PDF to an outgoing Email, based on a rule Using Outlook 2
B Auto open PDF Outlook VBA and Custom Forms 0

Similar threads

Top