Problem with MSINET.OCX: instantiation of New Inet

P

Paul Martin

Hi guys

I need to download files from a static URL and am using the following
code from http://officeone.mvps.org/vba/http_download_file.html:

Sub HTTPDownloadFile(ByVal URL As String, _
ByVal LocalFileName As String)
Dim HTTP As Inet
Dim Contents() As Byte

Set HTTP = New Inet ' <<<< CODE FAILS HERE

With HTTP
.Protocol = icHTTP
.URL = URL
Contents() = .OpenURL(.URL, icByteArray)
End With

Set HTTP = Nothing

Open LocalFileName For Binary Access Write As #1
Put #1, , Contents()
Close #1
End Sub

The code works on some machines but not others, failing at "Set HTTP =
New Inet".

The error message is:
"Run-time error '429':
ActiveX component can't create object".

I can't detect any reason why the code works on one machine and not
the other, as they are allegedly built from the same profile (both
running WinXP, Office2003). Both machines have MSINET.OCX, same
version (6).

I'm thinking maybe it's a registry entry, but hopefully someone on
here has come across this and has a solution?

TIA

Paul Martin
Melbourne, Australia
 
C

Chip Pearson

Try using the URLDownloadToFile API function. For example,


Private Declare Function URLDownloadToFile Lib "urlmon" _
Alias "URLDownloadToFileA" _
(ByVal pCaller As Long, _
ByVal szURL As String, _
ByVal szFileName As String, _
ByVal dwReserved As Long, _
ByVal lpfnCB As Long) As Long

Sub AAA()
Dim URL As String
Dim DestFile As String
Dim Res As Long

URL = "http://www.cpearson.com/Excel/about.htm"
DestFile = "C:\Test\About.htm"
On Error Resume Next
Kill DestFile
On Error GoTo 0
Res = URLDownloadToFile(0&, URL, DestFile, 0&, 0&)
If Res = 0 Then
Debug.Print "Success"
Else
Debug.Print "Failure"
End If
End Sub

Cordially,
Chip Pearson
Microsoft Most Valuable Professional
Excel Product Group, 1998 - 2009
Pearson Software Consulting, LLC
www.cpearson.com
(email on web site)
 
Joined
Feb 6, 2009
Messages
1
Reaction score
0
Hi there

I've tried the code above and seems to work great (thanks Chip)...however in some cases, the Excel sheet that I am running it from, seems to lock (no response) and they only way out is by pressing alt+ctrl+del

Any ideas why this might happen and, most importantly, is there a way to avoid it ?

thanks
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top