Sending Email using CDO ERROR

T

Todd Huttenstine

http://www.rondebruin.nl/cdo.htm#sheet

I went to the above site and tried various codes. I kept
getting the same error on each code I tried to use. see
error below....

"Run-Time error '-2147024770(8007007e)':
Automation error
The specified module could not be found."

When I click debug, the following part of the code is
highlighted.

" Set iMsg = CreateObject("CDO.Message")"

Here is the entire code below.

Sub CDO_Send_Workbook()
' This sub use late binding, you don't have to set a
reference
' It is not working in Windows 98 and ME.
' You must be online when you run the sub

Dim iMsg As Object
Dim iConf As Object
Dim WB As Workbook
Dim WBname As String

Application.ScreenUpdating = False
Set WB = ActiveWorkbook
'If you want to mail the workbook where the code is
placed you must use
'Set WB = ThisWorkbook

WBname = WB.Name & " " & Format(Now, "dd-mm-yy h-mm-
ss") & ".xls"

WB.SaveCopyAs "C:/" & WBname
' It will save a copy of the file in C:/ with a Date
and Time stamp

Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
With iMsg
Set .Configuration = iConf
.To = "(e-mail address removed)"
.From = """Ron"" <[email protected]>"
.Subject = "This is a test"
.TextBody = "Hi there"
.AddAttachment "C:/" & WBname
'.AddAttachment "C:/Test.txt"
' You can add any file you want
with .AddAttachment "C:/Test.txt"
.Send
End With
Kill "C:/" & WBname 'If you not want to delete the
file you send delete this line
Set iMsg = Nothing
Set iConf = Nothing
Set WB = Nothing
Application.ScreenUpdating = True
End Sub


Any ideas?

Thanx
Todd
 
T

Todd Huttenstine

I use windows 2000 here at work. I will be using 2000 for
the majority anyway.

I read the Problems section and I still cant figure out
what my problem is because I keep getting the debug
error. And when I click debug this is whats
highlighted. Set iMsg = CreateObject("CDO.Message").

The code I used this time was...
Private Sub CommandButton1_Click()
' This sub use late binding, you don't have to set a
reference
' It is not working in Windows 98 and ME.
' You must be online when you run the sub
Dim iMsg As Object
Dim iConf As Object
Dim Flds As Variant
Dim WB As Workbook
Dim WBname As String
Application.ScreenUpdating = False
Set WB = ActiveWorkbook
'If you want to mail the workbook where the code is
placed use
'Set WB = ThisWorkbook
WBname = WB.Name & " " & Format(Now, "dd-mm-yy h-mm-
ss") & ".xls"
WB.SaveCopyAs "C:/" & WBname
' It will save a copy of the file in C:/ with a Date
and Time stamp
Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
iConf.Load -1 ' CDO Source Defaults
Set Flds = iConf.Fields
With Flds
.Item
("http://schemas.microsoft.com/cdo/configuration/sendusing"
) = 2
.Item
("http://schemas.microsoft.com/cdo/configuration/smtpserver
") = "smtp.something.nl"
.Item
("http://schemas.microsoft.com/cdo/configuration/smtpserver
port") = 25
.Update
End With
With iMsg
Set .Configuration = iConf
.To = "(e-mail address removed)"
.From = """Ron"" <[email protected]>"
.Subject = "This is a test"
.TextBody = "Hi there"
.AddAttachment "C:/" & WBname
' You can add any file you want with
'.AddAttachment "C:/Test.txt"
.Send
End With
Kill "C:/" & WBname
Set iMsg = Nothing
Set iConf = Nothing
Set WB = Nothing
Application.ScreenUpdating = True


End Sub
 
R

Ron de Bruin

= "smtp.something.nl"

Did you change the server to yours in the code when you test it
 
T

Todd Huttenstine

yes I believe I did it correctly. Here are the lines
fromt hat part of the code:

.Item
("http://schemas.microsoft.com/cdo/configuration/sendusing"
) = 2
.Item
("http://schemas.microsoft.com/cdo/configuration/smtpserver
") = "SCGVLEXMB03"
.Item
("http://schemas.microsoft.com/cdo/configuration/smtpserver
port") = 25

-----Original Message-----
= "smtp.something.nl"

Did you change the server to yours in the code when you test it

--
Regards Ron de Bruin
(Win XP Pro SP-1 XL2002 SP-2)




"Todd Huttenstine" <[email protected]>
wrote in message [email protected]...
 
R

Ron de Bruin

Hi Todd

As far as I know is CDO a part of Win 2000.
If you fill in the Server name correct it must work.

I only have Win XP running on this moment but I will install Win 2000 also this week.
If I have problems I will add it to the CDO page in the problems section.
 
D

David

You need to be on W2000 and you need valid email
addresses and an smtp which recognises your email. It
does work
 
F

Fiona

I think CDO is part of Windows 2000 Server. You have to execute code on a
machine that is set up as a server. The large company I work for has
standardized on ASPQMail as a way to send email. They have removed the CDO
object from the production servers.

When I develop something where I want to send email I first do it with CDO
on a test server I have set up that is stock Microsoft. When I have it
working I do it over so it works with ASPQMail on a production server. I use
CDO first because there is lots of documentation on the web.

In both cases I have to refer to the correct Exchange Server to get it to
work.

Most of my background is with VBScript so I don't know if this applies here.

Regards
 
R

Ron de Bruin

Hi Jake

This looks like the problem.
I hope we hear from Todd

--
Regards Ron de Bruin
(Win XP Pro SP-1 XL2002 SP-2)




Jake Marx said:
Todd,

That sounds like a CDO installation/configuration error. Here's a link that
may help (watch line wrap):

http://groups.google.com/groups?hl=...+module+could+not+be+found%22+cdo&sa=N&tab=wg

--
Regards,

Jake Marx
MS MVP - Excel
www.longhead.com

[please keep replies in the newsgroup - email address unmonitored]


Todd said:
http://www.rondebruin.nl/cdo.htm#sheet

I went to the above site and tried various codes. I kept
getting the same error on each code I tried to use. see
error below....

"Run-Time error '-2147024770(8007007e)':
Automation error
The specified module could not be found."

When I click debug, the following part of the code is
highlighted.

" Set iMsg = CreateObject("CDO.Message")"

Here is the entire code below.

Sub CDO_Send_Workbook()
' This sub use late binding, you don't have to set a
reference
' It is not working in Windows 98 and ME.
' You must be online when you run the sub

Dim iMsg As Object
Dim iConf As Object
Dim WB As Workbook
Dim WBname As String

Application.ScreenUpdating = False
Set WB = ActiveWorkbook
'If you want to mail the workbook where the code is
placed you must use
'Set WB = ThisWorkbook

WBname = WB.Name & " " & Format(Now, "dd-mm-yy h-mm-
ss") & ".xls"

WB.SaveCopyAs "C:/" & WBname
' It will save a copy of the file in C:/ with a Date
and Time stamp

Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
With iMsg
Set .Configuration = iConf
.To = "(e-mail address removed)"
.From = """Ron"" <[email protected]>"
.Subject = "This is a test"
.TextBody = "Hi there"
.AddAttachment "C:/" & WBname
'.AddAttachment "C:/Test.txt"
' You can add any file you want
with .AddAttachment "C:/Test.txt"
.Send
End With
Kill "C:/" & WBname 'If you not want to delete the
file you send delete this line
Set iMsg = Nothing
Set iConf = Nothing
Set WB = Nothing
Application.ScreenUpdating = True
End Sub


Any ideas?

Thanx
Todd
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top