"CreateObject("Outlook.Application")" does not work

J

Jeff Byrd

I originally ment to post this in this newsgroup. Sorry for the dupilcate
posting. Any help would be appreciated.

I am Attempting to send e-mails to muultiple individuals from MS Access
2003. I use Outlook 2003 with an Exchange 2003 account.


I have Microsoft Outlook 11.0 Object Library checked in References. My code
compiles fine.

However when I try to run it I the following:

Private Sub CreateMail()
' Customize a message for each contact and then send or save the message
Dim intMessageCount As Integer
Dim mobjOutlook As Object

'Declare and instantiate a recordset object
Dim rst As ADODB.Recordset
Set rst = New ADODB.Recordset

'Open a recordset based on the result of qryBulkMail
rst.Open "qryTestemail", CurrentProject.Connection
intMessageCount = 0

Set mobjOutlook = CreateObject("Outlook.Application")

' Loop through the contacts in the open folder
Do Until rst.EOF

intMessageCount = intMessageCount + 1

rst.MoveNext
Loop

' Write the number of messages created to the worksheet
MsgBox intMessageCount & " Messages Sent"

End Sub

I get:

Run-time Error '-2147024770(8007007e)
Automation Error
The specific module could not be found.



I have also tried to run the following module.
Running the following Module returns the msg "Couldn't Launch Outlook!".

Function CreateOutlookObj() As Boolean

'Invoke error handling
On Error GoTo CreateOutlookObj_Err

'Assume a False return value
CreateOutlookObj = False

'Attempt to Launch Outlook
Set gobjOutlook = New Outlook.Application

'If Outlook launches successfully, return true
CreateOutlookObj = True

CreateOutlookObj_Exit:
Exit Function

CreateOutlookObj_Err:

'If an error occurs, display a message and return false
MsgBox "Couldn't Launch Outlook!!", vbCritical, "Warning!!"
CreateOutlookObj = False
Resume CreateOutlookObj_Exit
End Function

I have tried the last function for opening MS Word and MS Excel and they
work fine.

I am sure that I am missing something here but what? Does Outlook have some
addition security settings. We run an Etnerprise version of Norton Antivius
if that makes any difference.

Any thoughts?
 
D

Douglas J Steele

There was a discussion about this problem in another one of the Access
newsgroups recently (sorry, I don't remember which one). The suggestion was
made that it might be worth posting to an Outlook-related group, in case
there's something new in the Outlook Security model that changes how you
automate it.
 
J

Jeff Byrd

Thank you I will try that also. Is there another way to send e-mail from
Access without using Oulook? We are running Exchange Server 2003.
 
A

aaron.kempf

CDO is the most popular way to send emails from VB.. but you already
have the docmd.sendobject that can email access objects around.. i
reccomend using docmd.sendobject

in a real world environment; you might have to go with cdo.. ms just
sits there and prompts you a dozen times.. like that makes you more
secure lol
 
J

Jeff Byrd

Can I use an Outlook Template with DoCmd.SendObject. I am trying to send
e-mails to multiple addresses with different information inserted into each
e-mail.
 
T

Tony Toews

Jeff Byrd said:
Can I use an Outlook Template with DoCmd.SendObject.

No. SendObject has many limitations.
I am trying to send
e-mails to multiple addresses with different information inserted into each
e-mail.


To create a formatted document to send as an email you will need to
use VBA code to create a largish string. This string will then be
passed to the SendObject command or other method as the body of the
email. For more details including sample air code see my Tips page
on this topic at http://www.granite.ab.ca/access/email/formatted.htm.

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
 

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