Link to home
Start Free TrialLog in
Avatar of snyperj
snyperjFlag for United States of America

asked on

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

Avatar of Rey Obrero (Capricorn1)
Rey Obrero (Capricorn1)
Flag of United States of America image

Avatar of snyperj

ASKER

Thanks. I have ruled out all 5 of those potential causes.  How about an improper version of MDAC?  Could that potentially be the problem?
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.
Avatar of snyperj

ASKER

Tried uininstalling with Your Uninstaller.. and re-then installed.  

Same end result.  Good 'ol microsoft.
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.
Avatar of snyperj

ASKER

thanks... I see if I can search out he Outlook DLL and try to re-register...
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.
Avatar of snyperj

ASKER

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

Avatar of snyperj

ASKER

Outlook 2000 is not installed any longer.
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
Avatar of snyperj

ASKER

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...
ASKER CERTIFIED SOLUTION
Avatar of rockiroads
rockiroads
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial