ActiveX component can't create object - Email thru Outlook

Problem
I get the error "ActiveX component can't create object" on the 2nd line of code in Access 2003.  Same database (mdb) opened in Access 2010 it works without problems.
            Dim objOutLkApp As Object
            Set objOutLkApp = CreateObject("Outlook.Application")

Some Facts
    1) Use the same code all the time for my customers with Access 2003 & Outlook 2003
    2) I was adding email capability to an app and discovered the error on my machine.
    3) I have installed Office 2010 but kept Access 2003
    4) I have no missing references and I do not reference Outlook reference library -  I like using late binding on purpose.

    5) I've tried referencing Microsoft Outlook 14.0 Object Library with the following code, but got the same error (Early Binding).
               Dim objOutLkApp As Outlook.Application        
               Set objOutLkApp = New Outlook.Application

    6) Telling my customers to upgrade to 2010 is not an option    

Any Thoughts?
Thanks for any help
LJG
LVL 2
LJGAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

GrahamMandenoCommented:
There should be no problem automating Outlook 2010 from Access 2003 - I have done this in dozens of applications myself.

Does the problem occur on more than one computer?  Usually such a problem is due to a missing or damaged component, or a fault in the registration of the automation server on a single computer.  This can be fixed by repairing the installation.

First make sure that all Office apps are closed, then go to Programs and Features in the Control Panel and find Microsoft Office 2010.  Right-click on it and click Change.  Select Repair and click Continue.

With luck, when the procedure completes your problem should be solved.

Best wishes,
Graham Mandeno [Access MVP 1996-2013]
0
apache09Commented:
Is this code creating or opening an email?

If it is, its possible the mapi dlls that allow the MAPIMail Service to run are broken or corrupt.

Could look at renaming/recreating the mapi dlls
http://www.ctimls.com/support/kb/error%20fixes/fix_mapi_error.htm

This usualyl fixes issues sending mail from other apps
0
Alexander Eßer [Alex140181]Software DeveloperCommented:
Maybe this site helps, too:

http://support.microsoft.com/kb/319844/en-us
0
The Ultimate Tool Kit for Technolgy Solution Provi

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy for valuable how-to assets including sample agreements, checklists, flowcharts, and more!

David LeeCommented:
LJG,

As a test, how about trying to create an instance of Word or Excel instead of Outlook?  The point of the test would be to see if the problem is with Outlook or with any of the Office 2010 apps.
0
LJGAuthor Commented:
Lots of good ideas - Just not an answer yet.  Any other ideas?

GrahamMandeno
1) It does work with no problems on my laptop (both Access 2003 & 2010) so we know it's something with my desktop.

2) From the Control Panel I repaired Office 2010 / shut down my computer-restarted / Still the same problem.

BlueDevilFan
                  Dim objOutLkApp As Object  
                  Set objOutLkApp = CreateObject("Outlook.Application")
                  Set objOutLkApp = Nothing

------------------------ All the below work in 2010
      Set objOutLkApp = CreateObject("Outlook.Application") <--- Outlook does not work in 2003
      Set objOutLkApp = CreateObject("Word.Application") <--- This Works  in 2003
      Set objOutLkApp = CreateObject("Excel.Application") <--- This Works  in 2003

Other folks - thanks for the links but neither helped.

Any other ideas at this point???

Thanks for all your thoughts.
0
David LeeCommented:
So it's just Outlook that doesn't work.  That's bizarre.  What version of Windows is on the computer and is it 32 or 64 bit?  Is Access 2003 32 or 64 bit?  How about Office 2010?
0
LJGAuthor Commented:
Windows 7 Prof / 64 bit
Office 2010 - 32 bit
Office 2003 - 32 bit

Isn't life suppose to be simpler :)
0
Alexander Eßer [Alex140181]Software DeveloperCommented:
Have you tried
 Set objOutLkApp = CreateObject("Outlook.Application.??")
where ?? might be 11 or 12 or whatever, since you have installed Office "twice"?!
... just a thought...
0
David LeeCommented:
Purely as a test, how about creating a new database and try creating an instance of Outlook from it?  The point of this test is to determine if there's something wrong with the database you're using now.
0
LJGAuthor Commented:
Thanks again for the responses.

------------------------ All the below work in 2010
      Set objOutLkApp = CreateObject("Outlook.Application.14") <--- Outlook does not work in 2003
      Set objOutLkApp = CreateObject("Word.Application".14) <--- This Works  in 2003
      Set objOutLkApp = CreateObject("Excel.Application.14") <--- This Works  in 2003

----- In case you want to ask ------------------- Does Not work in 2003 or 2010 ----
      Set objOutLkApp = CreateObject("Outlook.Application.11")

----------------------------
Yes = I've tried it in 3 different 2003 databases.

thanks!
0
GrahamMandenoCommented:
Hi LJG

Are you absolutely sure you have only one version of Outlook installed?  Outlook does not take kindly to multiple versions.

Just to confirm the problem is definitely in Outlook 2010, open Word 2010 and press Alt-F11 to open the VBA window.  In the Immediate pane, type:
?CreateObject("Outlook.Application").Version

It should respond with 14.0.0.6126 or something similar.

If it fails and gives an error then Outlook is definitely broken.  

In this case I suggest you cut your losses and completely uninstall Office 2012 and reinstall it.  There are all sorts of things you can check like registry keys and versions of DLLs, but if the installation repair failed to fix the problem then it will be very difficult to find it manually.

One other thing you could try before uninstalling is to disable all Outlook add-ins: Outlook File button | Options | Add-Ins | Manage: COM Add-Ins | Go... | then uncheck all the items. If this solves the problem, then re-enable one add-in at a time until the problem reappears.

Good luck!
Graham
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
LJGAuthor Commented:
Graham
Thanks so much - I have the version below, but I can't do the Com Addins until tomorrow sometime.

?CreateObject("Outlook.Application").Version
14.0.0.6131

Thanks
LJG
0
GrahamMandenoCommented:
Hmmm...

The fact that ?CreateObject("Outlook.Application").Version returns any result at all suggests that the problem is NOT with Outlook 2010, and is therefore in Access 2003.

I suggest you move your focus back to Access 2003 and try a Detect and Repair (from the Help menu).

These interoperability problems really can be pigs to solve!

Cheers,
Graham
0
LJGAuthor Commented:
Thanks for all the work EVERYONE did for me.

I've taken out all the Outlook Add-ins - shutdown the computer - did not solve the problem.


Sometime in the next two weeks, I'll re-install Office 2010.  If that works I'll come back an let everyone know

Go have some fun today - LJG
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft Access

From novice to tech pro — start learning today.