Add BCC to email with VBA in Outlook 2013
I can't figure out the correct VBA code for Outlook 2013 to add a fixed email address to the BCC field of an email while it is open for editing. I have the following code, which creates the email and then sets the BCC.
I want to add BCC to emails that I am replying to, so the message will already be in 'draft' form.
Sub sendcomment_click()
Set oMsg = Application.CreateItem(olMailItem)
With oMsg
.Recipients.Add ("email address")
'Set objRecip = Item.Recipients.Add("email address")
'objRecip.Type = olBCC
'objRecip.Resolve
' Join Email addresses by "; " into ".BCC" as string
.BCC = "Person.A@somewhere.com; Person.B@somewhere.com"
.Subject = "New Comment by"
.Body = "sdfsdfsdf"
.Display ' Comment this to have it not show up
'.Send ' Uncomment this to have it sent automatically
End With
Set oMsg = Nothing
End Sub
* Update *
I implemented the great advice from Dmitry
My code now reads:
Sub BCC()
Dim objRecip As Recipient
Set oMsg = Application.ActiveInspector.CurrentItem
With oMsg
Set objRecip = item.Recipients.add("XXX@example.com")
objRecip.Type = olBCC
objRecip.Resolve
End With
Set oMsg = Nothing
End sub
However, when I try to run it I get an error "Run Time error '424' Object required" and it highlights the line:
Set objRecip = item.Recipients.Add("xxx@example.com")
Instead of Application.CreateItem(olMailItem)
, use Application.ActiveInspector.CurrentItem
. If you set the BCC property, you will wipe out all existing BCC recipients. Use Recipients.Add (you have it commented out above) for each email address.
上一篇: 减少Java中产生纯音的谐波