Option Explicit
'Requires reference to Microsoft HTML Object Library. Set this in Tools - References in VB editor.
Sub Test()
PopValues "http://www.mrexcel.com", 1, "Sheet1"
End Sub
Sub PopValues(ByVal HyperString As String, ByVal RowCounter As Integer, ByVal SheetName As String)
Dim DetailPageHTMLStringDocument As HTMLDocument, DetailPageTEXTStringDocument As Object
Dim DetailPageHTMLString, DetailPageTEXTString As String
Dim StartLink1, StartLink2, StartLink3, StartLink4, StartLink5, StartLink6 As Integer
Dim EndLink1, EndLink2, EndLink3, EndLink4, EndLink5, EndLink6 As Integer
Dim TmpRng As String
Dim Cutstring1, Cutstring2, Cutstring3, Cutstring4, Cutstring5, Cutstring6 As String
Dim Counter As Long
Dim IEforContractDetail As Object
Set IEforContractDetail = CreateObject("InternetExplorer.Application")
With IEforContractDetail
.Visible = True
.Navigate HyperString ' should work for any URL
Do Until .readystate = 4: DoEvents: Loop
Do Until .document.readystate = "complete": DoEvents: Loop
Set DetailPageHTMLStringDocument = .document
End With
Get_and_Print_Head_Element DetailPageHTMLStringDocument
End Sub
Private Sub Get_and_Print_Head_Element(doc As HTMLDocument)
'Get HEAD element using getElementsByTagName and print all its nodes in the Immediate Window
Dim headElements As IHTMLElementCollection
Dim headElement As HTMLHeadElement
Dim i As Integer
'Get collection of head elements. There is normally only one <HEAD> tag, so the length of this collection is
'normally 1
Set headElements = doc.getElementsByTagName("HEAD")
'Two ways of looping through the collection of head elements
For Each headElement In headElements
Debug.Print headElement.innerHTML
PrintAllHeadNodes4 headElement
Next
For i = 0 To headElements.Length - 1
Set headElement = headElements(i)
Debug.Print headElement.innerHTML
PrintAllHeadNodes4 headElement
Next
End Sub
Private Sub PrintAllHeadNodes4(ByVal head As HTMLHeadElement)
'One way of looping through the head element nodes
Dim mNode As IHTMLDOMNode
For Each mNode In head.childNodes
PrintHeadNode mNode
Next
End Sub
Private Sub PrintHeadNode(ByVal mNode As IHTMLDOMNode)
'Print details of a HEAD node according to the node's name
Dim title As HTMLTitleElement
Dim meta As HTMLMetaElement
Dim style As HTMLStyleElement
Dim link As HTMLLinkElement
Debug.Print mNode.nodeName
Select Case mNode.nodeName
Case "TITLE"
Set title = mNode
Debug.Print title.Text
Case "META"
Set meta = mNode
If meta.httpEquiv <> "" Then Debug.Print "Http-equiv=" & meta.httpEquiv
If meta.Name <> "" Then Debug.Print "Name=" & meta.Name
Debug.Print "Content=" & meta.content
Case "STYLE"
Set style = mNode
Debug.Print "Type=" & style.Type
Debug.Print style.innerHTML
Case "LINK"
Set link = mNode
Debug.Print "href=" & link.href
Debug.Print "type=" & link.Type
Debug.Print "rel=" & link.rel
End Select
End Sub