Set timeout on MSXML2.XMLHTTP .send method

Oliver Dewar

Board Regular
Joined
Apr 17, 2011
Messages
201
Hi Guys.

I'm doing some web automation using the script below:

Code:
strURL = Activecell.value 'this is the url to test            
Set objhttp = CreateObject("MSXML2.XMLHTTP")            
            objhttp.Open "HEAD", strUrl, False
            objhttp.send
        
            If objhttp.statusText <> "OK" Then
                Activecell.Interior.Color = 255
            End If

Sometimes I encounter urls which hang for minutes before resolving, or they don't resolve at all.

How can I set a timeout on this method?

I've tried this but it doesn't seem to be working:

Code:
Dim TimeOut As Double, iTimeTaken As Integer
Set objHttp = CreateObject("MSXML2.XMLHTTP")    
objHttp.Open "HEAD", strUrl, False
    objHttp.send
    
        iTimeTaken = 0
        'loop until the page has loaded or timed out
        
        Do Until iTimeTaken > TimeOut
        Application.Wait TimeSerial(Hour(Now()), Minute(Now()), Second(Now()) + 1)
        iTimeTaken = iTimeTaken + 1
        
        If objHttp.readyState = 4 Then
        'page has loaded
        Exit Do
        End If
        Loop


        
            If objHttp.readyState <> 4 Then
            'if the readystate is still 4 then it timed out
            MsgBox "Timed Out"
            Exit Sub
            End If


Any ideas?

Thanks :)
 

Excel Facts

Highlight Duplicates
Home, Conditional Formatting, Highlight Cells, Duplicate records, OK to add pink formatting to any duplicates in selected range.

Forum statistics

Threads
1,214,826
Messages
6,121,792
Members
449,048
Latest member
greyangel23

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top