Auto BCC VBA macro: how to add exceptions?

Status
Not open for further replies.
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
 
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
 
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
 
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
 
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)
 
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
 
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.
 
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.
 
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
 
Did you set a category on the message you were sending?

Is the macro in ThisOutlookSession?

Is macro security set to low?
 
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.
 
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
P Email address auto-completes work fine on laptop, but no longer on desktop Using Outlook 2
C New pc, new outlook, is it possible to import auto-complete emailaddress Using Outlook 4
R Outlook 365 VBA AUTO SEND WITH DELAY FOR EACH EMAIL Outlook VBA and Custom Forms 0
Nufc1980 Outlook "Please treat this as private label" auto added to some emails - Help. Using Outlook 3
K vba code to auto download email into a specific folder in local hard disk as and when any new email arrives in Inbox/subfolder Outlook VBA and Custom Forms 0
F Auto changing email subject line in bulk Using Outlook 2
T Outlook 2019 Not Using Auto Compete After Deletion of 365 Using Outlook 1
richardwing Auto forward email that is moves into a specific outlook folder Outlook VBA and Custom Forms 5
D Auto Remove [EXTERNAL] from subject - Issue with Macro Using Outlook 21
nmanikrishnan Auto-reply from default account Using Outlook 1
A Imap account not auto syncing inbox at startup Using Outlook 0
K Run a script rule to auto 'send again' on undeliverable emails? Outlook VBA and Custom Forms 1
FryW Need help modifying a VBA script for in coming emails to auto set custom reminder time Outlook VBA and Custom Forms 0
S Auto forward for multiple emails Outlook VBA and Custom Forms 0
DDB VBA to Auto Insert Date and Time in the signature Outlook VBA and Custom Forms 2
V Auto-complete stopped working Using Outlook 4
D auto forward base on email address in body email Outlook VBA and Custom Forms 0
M Replyall macro with template and auto insert receptens Outlook VBA and Custom Forms 1
R Auto Forwarding with different "From" Outlook VBA and Custom Forms 0
P auto-complete is hopelessly broken Using Outlook 0
R Auto Assign Category colours to Incoming Emails based on whom the email is addressed Outlook VBA and Custom Forms 3
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 3
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 16
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

Similar threads

Back
Top