Hi Ian, this should help.
As an example, I've used one of the millions of random name generators that exist on the 'Net. This code opens an IE instance, navigates to "http://www.behindthename.com/random/", inputs the surname to the form, submits the form, and returns the resulting HTML body.
I haven't parsed the result page HTML to return the actual name, as this will be different for your site, but this should help you get started.
You'll need a reference to "Microsoft Internet Controls" to access the SHDocVw.InternetExplorer object.
Private Function GetFromSubmittedForm(strSurname As String) As String
Dim strReturnBody As String
'Requires reference to "Microsoft Internet Controls"'
Dim IE As SHDocVw.InternetExplorer
Set IE = CreateObject("InternetExplorer.Application")
'Navigate to the URL'
IE.Navigate "http://www.behindthename.com/random/"
'No need to show the window'
IE.Visible = False
'Wait for IE to load the page'
While IE.Busy: DoEvents: Wend
Do While IE.ReadyState <> 4: DoEvents: Loop
'NOTE: I have refered to each element by name, but indexes _
can also be used: Forms("random") could be Forms(0)'
'Select the form by name:'
With IE.Document.Forms("random")
'Reference each Input by name'
.Surname.Value = strSurname
'Submit the form'
.Submit
'Sometimes you may need to submit using _
the name of the submit button like this:'
'.SubmitButtonName.Click'
End With
'Wait for IE to load the new page'
While IE.Busy: DoEvents: Wend
Do While IE.ReadyState <> 4: DoEvents: Loop
'Set the body of the new page to a string'
strReturnBody = IE.Document.Body.InnerHTML
'/CODE THAT ANALYSES THE BODY HTML GOES HERE'
GetFromSubmittedForm = strReturnBody
'\CODE THAT ANALYSES THE BODY HTML GOES HERE'
'Close the IE doc'
IE.Document.Close
IE.Quit
End Function
Hope this helps.