title: Excel VBA to open the first search result page of google
body: <p>I have to open the google search page using excel Macro. I am able to successfully open the google search page, after I give my search parameters in excel. However, my task is to open the first returned search result page and do some data extraction in that page. I used the below code. </p>
  
  <p>Suppose if I searched for "<strong>Sachin Tendulkar wiki</strong>", I should be able to open the first page in the search result. My code so far is as below. </p>
  
  <pre><code>Dim ie As InternetExplorer
  Dim RegEx As RegExp, RegMatch As MatchCollection
  Dim MyStr As String
  Dim pDisp As Object
  Set ie = New InternetExplorer
  Set RegEx = New RegExp
  Dim iedoc As Object
  
  'Search google for "something"
  ie.Navigate "http://www.google.com.au/search?hl=en&amp;q=sachin+tendulkar+wiki&amp;meta="
  
  'Loop unitl ie page is fully loaded
  Do Until ie.ReadyState = READYSTATE_COMPLETE
  Loop
  
  
  
  MyStr = ie.Document.body.innertext
  Set RegMatch = RegEx.Execute(MyStr)
  
  'If a match to our RegExp searchstring is found then launch this page
  If RegMatch.Count &gt; 0 Then
      ie.Navigate RegMatch(0)
      Do Until ie.ReadyState = READYSTATE_COMPLETE
      Loop
           MsgBox "Loaded"
           'show internet explorer
      ie.Visible = True
      'Private Sub ie_DocumentComplete(ByVal pDisp As Object, URL As Variant)
      Set iedoc = ie.Application.Document
      'iedoc.getElementById("divid").Value = "poS0"
      'MsgBox iedoc
  
      'ie.Navigate iedoc.getelementsbytagname("ol")(0).Children(0).getelementsbytagname("a")(0).href
      ie.Navigate iedoc.getelementsbyclassname("divid")("poS0").href
      Else
      MsgBox "No linkedin profile found"
  End If
  
  Set RegEx = Nothing
  Set ie = Nothing
  </code></pre>
  
  <p>I viewed the page source in the google search page. I have a particular div id = "pos0" which is the id for the first search result. I have to make the IE navigate to the page whose div id = "pos0". I am not able to accomplish this thing in VBA. Can some one please help me out?</p>
  
  <p>Thanks &amp; Regards,
  Ramesh</p>