How do I create a Bcc list using CDO

Posted on 2008-10-14
Last Modified: 2010-04-21
I have tried using the solution to the earlier question but I get a compiler error: Method or data member not found.   Can anyone help.
I would also like some advice on what to put in the recipient, as I don't really want one.
Code snippet attached
Thanks in advance.
Private Sub SendEmail(pRecipient)
    Dim myserver As clsAESeMailServer
    Dim mymsg As clsAESeMailMsg
    Set myserver = New clsAESeMailServer
    Set mymsg = New clsAESeMailMsg
    myserver.ServerAddress = Me!From.Column(0)
    myserver.AccountName = Me!From.Column(1)
    myserver.Password = Me!From.Column(2)
    Set mymsg.MailServer = myserver
    mymsg.From = Me!From.Column(1)
    mymsg.Recipient = pRecipient
    mymsg.Subject = CStr(Me!Subject)
    mymsg.BCC = CreateBCCList
End Sub

Open in new window

Question by:CRB1609
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 7
  • 5
  • 2
LVL 38

Expert Comment

ID: 22717471

First of all, I presume you are storing your BCC recipients to CreateBCCList somewhere else in your code? Are you making sure your recipients are separated by semi-colons, and not by a combination of commas and spaces (which is the usual convention on, say, websites, etc)?

The only other thing I can think of is that it should be mymsg.Bcc = CreateBCCList - in other words, the cc part is lower case.


your string should look like this:;;
NOT like this:,,

Open in new window


Author Comment

ID: 22745926
The problem is that I don't get anywhere near constructing the string.  The code won't compile as it doesn't like lower case BCC and it converts to upper case automatically.
LVL 38

Expert Comment

ID: 22746008
Can you show us that part of your code?
MS Dynamics Made Instantly Simpler

Make Your Microsoft Dynamics Investment Count  & Drastically Decrease Training Time by Providing Intuitive Step-By-Step WalkThru Tutorials.


Author Comment

ID: 22746377
Yes, it's a code snippet attached to the original question, shown above.
LVL 38

Expert Comment

ID: 22746655
I don't see anything in there where you are creating your "CreateBCCList" list, though, the one that contains the email addresses you are BCCing to.

Author Comment

ID: 22746671
CreateBCCList is a function that creates and passes a string of the email address to be put in the Bcc field.  I didn't include it, as the problem is the code in the snippet doesn't compile.  It gives an error: 'Method or data member not found' and hightlights BCC in the line 'mymsg.BCC = CreateBCCList

LVL 38

Expert Comment

ID: 22746689
Right, but I am wondering if that's the part that's failing, but the compiler doesn't know it until it hits that line and has an uninitialized variable.

Author Comment

ID: 22746735
I just tried that.  It doesn't get to the line.   The error appers with .BCC highlighted and the code stopped at the top of the sub on the line: Private Sub Private Sub SendEmail(pRecipient)
LVL 38

Accepted Solution

lherrou earned 250 total points
ID: 22748469
I'm reached what I can help with, but have asked for more experts to assist...
LVL 61

Expert Comment

ID: 22749271


Are you using aesmike's sample posted here?

Also, are you using Access VBA or Visual Basic?

clsAESeMailMsg is a class that he has written himself. You can find it by searching the project for the string "clsAESeMailMsg".

<'Method or data member not found'>
You are getting this error message because the class that Mike has written (clsAESeMailMsg) does not contain BCC as an option.

This is another way to use CDO that I posted in a seperate thread:

Call the function like this-
CDOSendEmail "", "", "", "Interesting subject", "Totally Brilliant Message"

Function CDOSendEmail(varFrom As Variant, strTo As String, strBCC As String, strSubj As String, strMess As String)
    Dim strDefaultFrom  As String
    Dim objMess As Object
    Set objMess = CreateObject("CDO.Message")
    ' This is your default FROM address, and to be used if varFrom is Null or Empty
    strDefaultFrom = ""
    ' Subject
    objMess.Subject = strSubj
    ' Message
    objMess.textbody = strMess
    ' Determine if varFrom is Null/Empty and use default address,
    ' otherwise use the From address passed through the function call
    objMess.From = IIf(Nz(varFrom, "") = "", strDefaultFrom, varFrom)
    ' To
    objMess.To = strTo
    ' BCC
    objMess.bcc = strBCC
    ' This is a simple example... you can do a lot more
    ' Send it
    ' Clear the object variable
    Set objMess = Nothing
End Function

Open in new window


Author Comment

ID: 22754030
lherou.  Thanks for trying.  Much appreciated.

Mbizsetup.  Yes, I'm using aesmike's sample with Access VBA.  I'll try your code and get back to you.  Thank you very much.

Author Comment

ID: 22755678
It compiled and ran through the code but didn't seem to do anything.  Is the code completely self contained?  Should I somehow specify the server, username, and password, etc.?
LVL 61

Assisted Solution

mbizup earned 250 total points
ID: 22759016

The code I posted will send an Email from your default email account, but I haven't included any messages that indicate that the message was sent.
If you open your Sent Items folder, you should see your test message.
Let me know if this is what you needed...


Author Closing Comment

ID: 31506160
Thanks, guys.  It got beyond me but I appreciate the effort you put in.

Featured Post

Revamp Your Training Process

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I didn’t use eM Client for long when I decided to swap to Outlook 2016. The reason for the switch is that it started asking for payment to continue some of its services after one month.   The problems I faced when I didn’t pay were:   I was not …
It’s a strangely common occurrence that when you send someone their login details for a system, they can’t get in. This article will help you understand why it happens, and what you can do about it.
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…

705 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question