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
  • 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?

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.
Swamped with email signature updates?

Have you been given a load of changes to make to your users’ email signatures? Having to manually implement multiple signatures for every department? Let Exclaimer save you from being swamped with email signature updates!


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

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Suggested Solutions

Zimbra is famous for its platform independency, ability to manage multiple user accounts, easy assimilation with 3rd party applications, social network certification etc. Here, we discuss about how users can move multiple Zimbra user accounts to Exc…
Explore the encryption capabilities built into Google Apps and how these features can help you meet privacy policy and regulatory compliance, but are not a full solution. Understand and compare the most popular email encryption services for Google A…
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…

932 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

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now