If you know the URL of the spawned window (look at the source for the form you're submitting)
then you can use the function below.
It will return the document object for the first window it finds with an address "like" the passed URL.
It a window is not found it will return nothing.
dim oDoc, oTable
set oDoc=GetHTMLDocument("htt p://thisistheURL/responsedir/")
if not oDoc is nothing then
set oTable=oDoc.getElementById("abcTab")
end if
Tim
'#################################################
'Find an IE window with matching location and get the document from
' the loaded page. Assumes no frames.
Function GetHTMLDocument(sAddress As String) As Object
Dim objShell As Object, objShellWindows As Object, o As Object
Dim retVal As Object, sURL As String
Set retVal = Nothing
Set objShell = CreateObject("Shell.Application")
Set objShellWindows = objShell.Windows
'see if IE is already open
For Each o In objShellWindows
sURL = ""
On Error Resume Next
sURL = o.document.Location
On Error GoTo 0
If sURL < "" Then
If sURL Like sAddress & "*" Then
Set retVal = o
Exit For
End If
End If
Next o
Set GetHTMLDocument = retVal
End Function
"tmp2100" <u21084@uwe wrote in message news:5f51884e56fca@uwe...
I have the following VBA code to launch an IE application, navigate to a URL,
and submit a form.
The page which pops-up does not have a directly addressable URL, but is
generated
and directly filled-in by java when the form is submitted. What is the VBA
statement needed in the
following code to get a handle to the unnamed spawned page so that objects on
the page can be
referenced ?
Sub Clt_Data_Fetch()
Dim ie As Object
' launch IE and navigate to URL
Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = True
ie.navigate "http://thisistheURL/index.html"
' wait for login page to come up
Do While ie.Busy: DoEvents: Loop
Do Until ie.ReadyState < 1: Loop
' fill in login form and submit
ie.document.all.Item("name").Value = "loginstring"
ie.document.all.Item("passwd").Value = "passwordstring"
ie.document.all.Item("submit").Click
' wait for spawned page to come up
Do While ie.Busy: DoEvents: Loop
Do Until ie.ReadyState < 1: Loop
Application.Wait (Now() + TimeValue("0:00:07"))
' close login page, leaving spawned page visible
ie.Quit
' *********** what is statement needed here to make reference to a 'table'
object with
' ID = "abcTab" in the unnamed spawned page ******************
endSub
--
tmp2100
Message posted via http://www.officekb.com