Import data "Hangs", A "time out" is needed. Help! :)
Not sure if this will help with your errors, as I cannot test it, but may be
something like:
'<Worksheet code
Const TIMEOUT As Long = 30 'seconds
'
'Other query code
'
Set WhichSheet =Me
Application.OnTime TimeSerial(Hour(Now()), Minute(Now()), Second(Now) +
TimeOut), "TestConnections"
'</Worksheet code
'<Module code
Public WhichSheet As Worksheet
Public Sub TestConnections()
Dim i As Long
With WhichSheet.QueryTables
For i = 1 To .Count
If .Item(i).Refreshing Then
.Item(i).CancelRefresh
Debug.Print "Failed to refresh in time: " & .Item(i).Connection
Else
Debug.Print "Refreshed in time: " & .Item(i).Connection
End If
Next
End With
End Sub
'</Module code
NickHK
"John37309" wrote in message
...
I am using MS Excel to import XML data off the web using macro's. When i
hit
a server to get data, sometimes my document "Hangs" trying to get the
data.
It happens when a server is not functioning properly and Excel makes the
connection but never gets the full page of data. It happens on servers
that
are there but not functioning properly any more or something.
The problem is the same as when you use a normal web browser and click on
a
web page that never fully up-loads to your computer (Some old website).
What
i do when that happens is i just close the window. MS Excel is not doing
this, it just keeps trying.
The result is that my document just comes to a compleet stand still
waiting
for a page that it is not going to get. The document i am using has been
programed to make 30 or 40 calls for data off different web servers before
it
finishes.
What i need is to be able to set some kind of "Time out" value in the
Visual
Basic Editor so if it does not get the data in , lets say 30 seconds, then
it
see's it as an error and stops trying and just moves on to make the next
request for data.
Any help here would be appreciated.
Thank you.
John.
--
A Pint of Guinness a day keeps the doctor away.
|