![]() |
referencing web site object
Hi have been using a dump routine posted by Joel to ascertain the reference
for objects in several web pages including three for mileage calculation. Am unable to return the mileage by road output from the following web page, URL = "http://www.freemaptools.com/distance-between-uk-postcodes.htm" am sure the reference is : Set dis = IE.document.getElementsByTagname("INPUT") Set distance = dis.Item(7) Worksheets("sheet1").Range("a1") = distance.innertext but get no value returned from this! Should I be using a different suffix other than "innertext"? |
referencing web site object
This should work. I used the code I worked on a couple of weeks ago
Private Sub CommandButton1_Click() Set IE = CreateObject("InternetExplorer.Application") IE.Visible = True For Each c In Worksheets("Sheet1").Range("D6:N6").Cells If c.Offset(0, 1).Value < "" Then URL = "http://www.freemaptools.com/distance-between-uk-postcodes.htm" IE.Navigate2 URL Do While IE.readyState < 4 Or _ IE.busy = True DoEvents Loop Set Form = IE.document.getElementsByTagname("Form") 'Call Dump(IE) Set inputform = Form.Item(0) Set Postcodebox1 = inputform.Item(0) Postcodebox1.Value = c.Value Set Postcodebox2 = inputform.Item(1) Postcodebox2.Value = c.Offset(0, 1).Value Set POSTCODEbutton = inputform.Item(2) POSTCODEbutton.Click Do While IE.readyState < 4 Or _ IE.busy = True DoEvents Loop 'Call Dump(IE) Set Table = IE.document.getElementsByTagname("table") Set Distance = IE.document.getElementById("distance") MsgBox ("Distance : " & Distance.Value) Set Transport = IE.document.getElementById("transport") MsgBox ("Transport : " & Transport.Value) Next IE.Quit End Sub Sub Dump(IE) With Sheets("Dump") ..Cells.ClearContents RowCount = 1 For Each itm In IE.document.all ..Range("A" & RowCount) = itm.Tagname ..Range("B" & RowCount) = itm.classname ..Range("C" & RowCount) = itm.ID ..Range("D" & RowCount) = Left(itm.innertext, 1024) RowCount = RowCount + 1 Next itm End With End Sub "Atishoo" wrote: Hi have been using a dump routine posted by Joel to ascertain the reference for objects in several web pages including three for mileage calculation. Am unable to return the mileage by road output from the following web page, URL = "http://www.freemaptools.com/distance-between-uk-postcodes.htm" am sure the reference is : Set dis = IE.document.getElementsByTagname("INPUT") Set distance = dis.Item(7) Worksheets("sheet1").Range("a1") = distance.innertext but get no value returned from this! Should I be using a different suffix other than "innertext"? |
referencing web site object
Cheers Joel.
i did try .value on that scrap of code i attatched to the question but it returned an error everytime but yours works fine! Think its down to basic bad programming on my part! ta "Joel" wrote: This should work. I used the code I worked on a couple of weeks ago Private Sub CommandButton1_Click() Set IE = CreateObject("InternetExplorer.Application") IE.Visible = True For Each c In Worksheets("Sheet1").Range("D6:N6").Cells If c.Offset(0, 1).Value < "" Then URL = "http://www.freemaptools.com/distance-between-uk-postcodes.htm" IE.Navigate2 URL Do While IE.readyState < 4 Or _ IE.busy = True DoEvents Loop Set Form = IE.document.getElementsByTagname("Form") 'Call Dump(IE) Set inputform = Form.Item(0) Set Postcodebox1 = inputform.Item(0) Postcodebox1.Value = c.Value Set Postcodebox2 = inputform.Item(1) Postcodebox2.Value = c.Offset(0, 1).Value Set POSTCODEbutton = inputform.Item(2) POSTCODEbutton.Click Do While IE.readyState < 4 Or _ IE.busy = True DoEvents Loop 'Call Dump(IE) Set Table = IE.document.getElementsByTagname("table") Set Distance = IE.document.getElementById("distance") MsgBox ("Distance : " & Distance.Value) Set Transport = IE.document.getElementById("transport") MsgBox ("Transport : " & Transport.Value) Next IE.Quit End Sub Sub Dump(IE) With Sheets("Dump") .Cells.ClearContents RowCount = 1 For Each itm In IE.document.all .Range("A" & RowCount) = itm.Tagname .Range("B" & RowCount) = itm.classname .Range("C" & RowCount) = itm.ID .Range("D" & RowCount) = Left(itm.innertext, 1024) RowCount = RowCount + 1 Next itm End With End Sub "Atishoo" wrote: Hi have been using a dump routine posted by Joel to ascertain the reference for objects in several web pages including three for mileage calculation. Am unable to return the mileage by road output from the following web page, URL = "http://www.freemaptools.com/distance-between-uk-postcodes.htm" am sure the reference is : Set dis = IE.document.getElementsByTagname("INPUT") Set distance = dis.Item(7) Worksheets("sheet1").Range("a1") = distance.innertext but get no value returned from this! Should I be using a different suffix other than "innertext"? |
referencing web site object
AAAArrrggghhhhh
Why aint this working??? Am just getting empty values ?? Private Sub CommandButton1_Click() For Each c In Worksheets("Sheet1").Range("pcrange3").Cells If c.Offset(0, 1).Value < "" Then Set IE = CreateObject("InternetExplorer.Application") IE.Visible = False URL = "http://www.freemaptools.com/distance-between-uk-postcodes.htm" IE.Navigate2 URL Do While IE.readyState < 4 DoEvents Loop Do While IE.busy = True DoEvents Loop Set Form = IE.document.getElementsByTagname("Form") Set inputform = Form.Item(0) Set Postcodebox1 = inputform.Item(0) Postcodebox1.Value = c.Value Set Postcodebox2 = inputform.Item(1) Postcodebox2.Value = c.Offset(0, 1).Value Set POSTCODEbutton = inputform.Item(2) POSTCODEbutton.Click Do While IE.busy = True Loop Set Transport = IE.document.getElementById("transport") c.Offset(0, 1) = Transport.Value IE.Quit End If Next End Sub "Atishoo" wrote: Cheers Joel. i did try .value on that scrap of code i attatched to the question but it returned an error everytime but yours works fine! Think its down to basic bad programming on my part! ta "Joel" wrote: This should work. I used the code I worked on a couple of weeks ago Private Sub CommandButton1_Click() Set IE = CreateObject("InternetExplorer.Application") IE.Visible = True For Each c In Worksheets("Sheet1").Range("D6:N6").Cells If c.Offset(0, 1).Value < "" Then URL = "http://www.freemaptools.com/distance-between-uk-postcodes.htm" IE.Navigate2 URL Do While IE.readyState < 4 Or _ IE.busy = True DoEvents Loop Set Form = IE.document.getElementsByTagname("Form") 'Call Dump(IE) Set inputform = Form.Item(0) Set Postcodebox1 = inputform.Item(0) Postcodebox1.Value = c.Value Set Postcodebox2 = inputform.Item(1) Postcodebox2.Value = c.Offset(0, 1).Value Set POSTCODEbutton = inputform.Item(2) POSTCODEbutton.Click Do While IE.readyState < 4 Or _ IE.busy = True DoEvents Loop 'Call Dump(IE) Set Table = IE.document.getElementsByTagname("table") Set Distance = IE.document.getElementById("distance") MsgBox ("Distance : " & Distance.Value) Set Transport = IE.document.getElementById("transport") MsgBox ("Transport : " & Transport.Value) Next IE.Quit End Sub Sub Dump(IE) With Sheets("Dump") .Cells.ClearContents RowCount = 1 For Each itm In IE.document.all .Range("A" & RowCount) = itm.Tagname .Range("B" & RowCount) = itm.classname .Range("C" & RowCount) = itm.ID .Range("D" & RowCount) = Left(itm.innertext, 1024) RowCount = RowCount + 1 Next itm End With End Sub "Atishoo" wrote: Hi have been using a dump routine posted by Joel to ascertain the reference for objects in several web pages including three for mileage calculation. Am unable to return the mileage by road output from the following web page, URL = "http://www.freemaptools.com/distance-between-uk-postcodes.htm" am sure the reference is : Set dis = IE.document.getElementsByTagname("INPUT") Set distance = dis.Item(7) Worksheets("sheet1").Range("a1") = distance.innertext but get no value returned from this! Should I be using a different suffix other than "innertext"? |
All times are GMT +1. The time now is 10:41 AM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com