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

J

Jeff Byrd

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

David C. Holley

Change the DIM to...

Dim objOutlook As Outlook.Application

Also you didn't post the actuall error message. If the above doesn't
work, change the error handler in the function to

CreateOutlookObj_Err:
Debug.print Err.number, err.description
Stop

You're getting the particular error message that you are because you've
overriden the error generated by VBA.
 
J

Jeff Byrd

Here is the error:

-2147024770 Automation error
The specified module could not be found.

This is the same error I get on the first code.
 
D

David C. Holley

And you SPECIFIC DIM'd the object as Outlook.Application? Try also
unchecking the Reference, saving, shutting down and then rechecking it.
 
J

Jeff Byrd

Yes I specifically DIM'd it as Outlook.Application. I tried unchecking the
Reference, saving, shutting down and then rechecking it. Same result.
Every thing I read says this should not be happening.
 
D

david epsom dot com dot au

Ask in an Outlook group - there may be a security
setting totally preventing Outlook automation. For
the purposes of discussion, you may want to use a
VBScript example instead of a VBA example.

Search the registry for outlook.application. Find
the GUID entry. Delete the Server32\server32 entry,
(which is undocumented), check the server32\default
entry.

(david)
 

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