• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 726
  • Last Modified:

Runtime error 429- Active X Component can't create object

I have one computer that continues to generate this error when trying to execute the following code (which works fine on other computers...)

When clicking debug, the following line is highighted:
Set myOlApp = CreateObject("Outlook.Application")

Here is what I have tried:
1.) Confirmed this function works on other computers.  It does.
2.) Confirmed no references are "missing" and that they are the same as the computers where this function runs correctly.
3.) "Ran"regsvr32 "C:\Program Files\Common Files\Microsoft Shared\DAO\DAO360.DLL" to reregister the DLL.  Message received was that the registration was successful.
4.) Re-installed MS Office 2000 SP-3.

What else can I do on this...?  After all of the above- still receive this error and Outlook does not open...


Thanks

Public Function AssignmentEmail()
 
    Dim myOlApp As Object
    Dim myItem As Object
        
    Set myOlApp = CreateObject("Outlook.Application")
    Set myItem = myOlApp.CreateItem(olMailItem)
 
   
            With myItem
                .To = Me.T_EXPERT_EMAIL
                .SentOnBehalfOfName = Nz(DLookup("default_email", "tblcurrentuser"))
                '.BodyFormat = olFormatRichText
                .BodyFormat = olFormatPlain
                If Me.T_PRIORITY = 1 Then
                .Importance = olImportanceHigh
                .Subject = Format(Me.T_TICKET_NBR, "00000") & "-IST *PRIORITY* Ticket-Category: " & Me.T_CAT_NAME
                Else
                .Subject = Format(Me.T_TICKET_NBR, "00000") & "-IST Ticket-Category: " & Me.T_CAT_NAME
                End If
    
        
             End With
 
    
    Set myItem = Nothing
    Set myOlApp = Nothing
 
End Function

Open in new window

0
snyperj
Asked:
snyperj
1 Solution
 
Rey Obrero (Capricorn1)Commented:
0
 
snyperjAuthor Commented:
Thanks. I have ruled out all 5 of those potential causes.  How about an improper version of MDAC?  Could that potentially be the problem?
0
 
Emil_GrayCommented:
I would suggest totally uninstalling MS Office before reinstalling. I also would suggest you use "YourUninstaller" which can be downloaded and used for 21 days for free http://www.ursoftware.com/ to do so.
I ran your code and had no problems.
0
Ultimate Tool Kit for Technology Solution Provider

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 now.

 
snyperjAuthor Commented:
Tried uininstalling with Your Uninstaller.. and re-then installed.  

Same end result.  Good 'ol microsoft.
0
 
rockiroadsCommented:
you are using late binding so references shouldnt be an issue.
problem seems to be with outlook so I dont think dao has anything to do with it.

Could be the library it uses (for outlook automation) has not registered properly or is corrupt for whatever reason. Thin is you said you have reinstalled, dunno if it clears down dll's or not.

Not sure what the dll is, I think you need to look out for msout*.*
either in windows dir\system32 or directory where office is installed

might be worth registering it   regsvr32 <nameoffile>. This has gotta be done on the problem pc.
0
 
snyperjAuthor Commented:
thanks... I see if I can search out he Outlook DLL and try to re-register...
0
 
rockiroadsCommented:
if u try to add the reference (so as to use early binding) then that should be one way to find it. eg office 2003 is office 11.0 and when u click it, it shows the path below.
0
 
snyperjAuthor Commented:
oK..thanks...using Outlook 2007 in correlation with Office 2000 (again...only a problem on this computer- fine everywhere else..)

Can I register an OLB file?

Clipboard01.jpg
0
 
rockiroadsCommented:
dont think u can

now which outlook do you want to open, version in office2007 or office2000?

maybe worth specifying version? eg createobject("outlook.application.12") for office2007. Having 2 versions could be the reason why you are getting this problem.

the fact that you got the reference defined means you do not have to create the object. You can do this
 
    Dim myOlApp As outlook.application
       
    Set myOlApp = new outlook.application

0
 
snyperjAuthor Commented:
Outlook 2000 is not installed any longer.
0
 
rockiroadsCommented:
well if u add the reference then u are using early binding so u can define and instantiate the variable like I said instead of having to create an object
0
 
snyperjAuthor Commented:
Your right...it worked... Outlook opened ....

I am concerned though because I still have problem on this computer that doesn't exist on others- but I appreciate getting this code piece working.

The early binding, late binding is not clear to me so I am sure I have used create object elsewhere too...
0
 
rockiroadsCommented:
simple explanation

early binding - this is when you add the reference in your database. Advantages are that you get to use the objects with their names, any constants are defined for you, can make use of the intellisense menu. Disadvantage of course is if you deploy this on a PC where that reference doesnt exist or the path differs then it will fail to run

late binding - You do not add the reference, have to create objects yourself and know the methods and properties available to use. Plus you have to substitute the constants with values (can be done by you defining your own constants). Advantage is you do not have to worry about broken references, differing paths. Disadvantage (though not too much nowadays considering the power of pc's) is the overhead in creating an object. also if you have different versions of that object installd, it may pick the wrong one (like in this case)

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Ultimate Tool Kit for Technology Solution Provider

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 now.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now