code to extract data from a website runs of XP but not Vista

R

Russ

I am working on code to extract data from a website. I am using
CreateObject("InternetExplorer.Application") to start IE. The code is far
from working perfectly but when I moved the code from an XP computer to a
Vista computer I can’t get past the “Do Until .readystate = 4†statement.
IE opens visible and I get the following error message:
“The object invoked has disconnected from its clientsâ€
I did not get this error on the XP computer.

The code is the following:
Sub Tester()
Dim objIE As Object
Dim allTabs, t, x As Integer
Dim r As Long, s As String, c As Long
Set objIE = CreateObject("InternetExplorer.Application")
With objIE
.Visible = False
.Navigate "http://www.masters.org/en_US/scores/index.html"
Do Until .readystate = 4 ‘hangs on this statement on the Vista computer
DoEvents
Loop
With .document
Set allTabs = .getElementsByTagName("TABLE")

For Each t In allTabs
'table with scores is always greater than 30 and only table that
large on page
If t.Rows.Length > 29 Then
r = 2
For x = 1 To t.Rows.Length - 1
For c = 0 To 9
s = t.Rows(x).Cells(c).innerHTML
ActiveWorkbook.Sheets("Info").Cells(r, c + 1).Value
= s
Next c
r = r + 1
Next x
End If
Next t
End With
End With

End Sub

I have a feeling from looking up the error on the web that it may have
something to do with the added security of Vista. Has anyone else run up
against this problem? I see a lot of code samples here that use the same
code to open IE that I do.
 
R

Russ

I never received a response to my question but after more web searching I
found the answer.

If anyone stumbles on my question in regard to a similar problem, see this
link for the solution:
www.mjtnet.com/blog/category/vista
The topic is "Web Automation in Vista"
I hope this helps someone.
Russ
 

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