Answered by:
Error 429 activex component can't create object

Question
-
Hi
In Access when I use;
Set OutlookApp = CreateObject("Outlook.Application")
I get below error. How can I fix it?
Thanks
Regards
Thursday, September 29, 2016 1:41 AM
Answers
-
Dirk is right (of course!) regarding using GetObject(). You should use code similar to
Dim oOutlook As Object On Error Resume Next Set oOutlook = GetObject(, "Outlook.Application") 'Bind to existing instance of Outlook If Err.Number <> 0 Then 'Could not get instance of Outlook, so create a new one Err.Clear Set oOutlook = CreateObject("Outlook.Application") End If On Error GoTo Error_Handler
Daniel Pineault, 2010-2016 Microsoft MVP
Professional Support: http://www.cardaconsultants.com
MS Access Tips and Code Samples: http://www.devhut.net
- Proposed as answer by Chenchen Li Monday, October 3, 2016 4:16 AM
- Marked as answer by Chenchen Li Tuesday, October 11, 2016 1:22 AM
- Edited by Daniel Pineault (MVP)MVP Thursday, October 13, 2016 3:10 PM
Friday, September 30, 2016 12:01 AM
All replies
-
Hi,
It might cause from:
Data Access Objects (DAO) is not properly registered.
One or more references are missing.
There is a utility database reference that is not valid.
You do not have the required permissions for required libraries.
There is a damaged wizard file.
Please visit this KB: You receive a "ActiveX component can't create object" error message when using Access
You could try the solutions mentioned in the KB above.
Thursday, September 29, 2016 4:12 AM -
I don't know all the details, but in certain situations CreateObject with Outlook fails. I tried registering this library and that one... after fighting with various systems for quite some time I gave up and decided to do things differently. Long story short, you could try the solution I propose in http://www.devhut.net/2014/10/31/createobjectoutlook-application-does-not-work-now-what/ .
I do hope it helps.
Daniel Pineault, 2010-2015 Microsoft MVP Professional Support: http://www.cardaconsultants.com MS Access Tips and Code Samples: http://www.devhut.net
Thursday, September 29, 2016 12:46 PM -
If you are using the free version of Outlook (Outlook Express) you cannot create the object because the .EXE application file dosen't exist for that version. I found out the hard way too. I think you need to purchase and install the commercial version of Outlook.Thursday, September 29, 2016 1:06 PM
-
Thanks for the information Lawrence, I was not aware of this fact.
In the specific case I had to create the above workaround was in a corporate environment with fully licensed Office Pro, ... everything was above board and fully licensed. I have since had several e-mails regarding my code where others have experienced the same issue. I simply don't have the time to do the necessary digging to find the true root cause of the problem (in my case) and the workaround has been, knock on wood, 100% reliable to date (2+ years in now).
Daniel Pineault, 2010-2015 Microsoft MVP Professional Support: http://www.cardaconsultants.com MS Access Tips and Code Samples: http://www.devhut.net
- Edited by Daniel Pineault (MVP)MVP Thursday, September 29, 2016 4:01 PM
Thursday, September 29, 2016 4:01 PM -
If you are using the free version of Outlook (Outlook Express) you cannot create the object because the .EXE application file dosen't exist for that version. I found out the hard way too. I think you need to purchase and install the commercial version of Outlook.
Note: Outlook Express is not a free version of Outlook; it's an entirely different program that doesn't support automation.Dirk Goldgar, MS Access MVP
Access tips: www.datagnostics.com/tips.htmlThursday, September 29, 2016 7:18 PM -
The first question to ask is, is Outlook installed on the computer? If it isn't, you obviously can't create an instance of it.
If it is installed, then you should probably check to see if it's running and use GetObject rather than CreateObject if it is.
Dirk Goldgar, MS Access MVP
Access tips: www.datagnostics.com/tips.htmlThursday, September 29, 2016 7:28 PM -
Dirk is right (of course!) regarding using GetObject(). You should use code similar to
Dim oOutlook As Object On Error Resume Next Set oOutlook = GetObject(, "Outlook.Application") 'Bind to existing instance of Outlook If Err.Number <> 0 Then 'Could not get instance of Outlook, so create a new one Err.Clear Set oOutlook = CreateObject("Outlook.Application") End If On Error GoTo Error_Handler
Daniel Pineault, 2010-2016 Microsoft MVP
Professional Support: http://www.cardaconsultants.com
MS Access Tips and Code Samples: http://www.devhut.net
- Proposed as answer by Chenchen Li Monday, October 3, 2016 4:16 AM
- Marked as answer by Chenchen Li Tuesday, October 11, 2016 1:22 AM
- Edited by Daniel Pineault (MVP)MVP Thursday, October 13, 2016 3:10 PM
Friday, September 30, 2016 12:01 AM