ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   code to extract data from a website runs of XP but not Vista (https://www.excelbanter.com/excel-programming/410674-code-extract-data-website-runs-xp-but-not-vista.html)

Russ

code to extract data from a website runs of XP but not Vista
 
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 cant 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.

--
russ

Russ

code to extract data from a website runs of XP but not Vista
 
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

--
russ


"Russ" wrote:

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

--
russ



All times are GMT +1. The time now is 04:49 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com