Solved

VBA error: Cannot create Inet1 object?

Posted on 2004-04-04
8
2,610 Views
Last Modified: 2012-06-27
Running the macro below in PowerPoint 2002 produces the error:

Error 429: "Activex component cannot create object"

on this line: Set Inet1 = CreateObject("InetCtls.Inet")

I have referenced Microsoft Internet Controls (tools > references > ).

Could someone please suggest possible corrections?

Please be aware that I am a total VBA newbie trying to build this by copying examples.

Sub WebUpdate()

    Dim Inet1 As Object
    Set Inet1 = CreateObject("InetCtls.Inet")
    Dim txtURLSource As String
    txtURLSource = Inet1.OpenUrl("http://www.mydomain.com/a_file.htm")

-- do some stuff with the data here --

End Sub
0
Comment
Question by:xfvgdrthbdtyvhgscv
8 Comments
 
LVL 75

Expert Comment

by:Anthony Perkins
ID: 10752860
Change:
Set Inet1 = CreateObject("InetCtls.Inet")
To:
Set Inet1 = CreateObject("InetCtlsObjects.Inet")
0
 
LVL 1

Author Comment

by:xfvgdrthbdtyvhgscv
ID: 10752923
Thanks for the suggestion, ac, but still get the same error on that line.  

I'm open to other suggestions if you have them!

0
 
LVL 15

Expert Comment

by:unknown_routine
ID: 10753005
the syntax your using is correct.

I  don't see any problem in your code. I tested it on powerpoint 2000 worked fine.


I may be a powerpoint 2002 issue(very unlikely)

As the 1st step  do these things:


1: if you have word2000 or power point 2000 copy paste your code there to see if it works.

2: if you have Visual basic , test your code inside VB to see if it works.

0
How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

 
LVL 17

Expert Comment

by:zzzzzooc
ID: 10753145
You might not have the class registered (or correctly registered) for use in CreateObject.

Open up Regedit (Start -> Run -> "regedit" (press enter)) and check for...

HKEY_CLASSES_ROOT\InetCtls.Inet

It should have subkeys of CLSID and CurVer. The CLSID for me is "{48E59293-9880-11CF-9754-00AA00C00908}" and the CurVer is "InetCtls.Inet.1" which is another key in HKEY_CLASSES_ROOT that may have to exist (not sure).
0
 
LVL 1

Author Comment

by:xfvgdrthbdtyvhgscv
ID: 10753324
Thanks again.

My objective here is to get some data from a cgi-script and update a chart in a slide.  I have another macro that opens an IE window and calls the script.  I could have the script output the needed data in form elements or javascript variables that I can then access fromVB.  But I had wanted to avoid this just for the sake of elegance.

Frankly, though, the more I read about using Inet, the less I'm tempted by elegance.  I see tons of potential pitfalls for my code to fail, considering that the final PPT file is intended to be downloaded by any of a thousand users whose PC's and their installed Office might have any number of configurations.

So I'm increasingly leaning today towards the IE window solution.

Anyone care to contradict / confirm this plan?

Thanks again.
0
 

Accepted Solution

by:
modulo earned 0 total points
ID: 11441165
PAQed, with points refunded (500)

modulo
Community Support Moderator
0

Featured Post

What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

Join & Write a Comment

Enums (shorthand for ‘enumerations’) are not often used by programmers but they can be quite valuable when they are.  What are they? An Enum is just a type of variable like a string or an Integer, but in this case one that you create that contains…
You can of course define an array to hold data that is of a particular type like an array of Strings to hold customer names or an array of Doubles to hold customer sales, but what do you do if you want to coordinate that data? This article describes…
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…

743 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now