PDA

View Full Version : Controlling child web pages of pages opened w/ Excel



mctabish
07-07-2009, 07:21 PM
I have been working on this project for about 3 month, and now I run into this hurdle.
What I am doing it opening an interal webpage from my companies INTRANET using Excel and creating an IE Object. O can control the pages, make changes and get data, submit etc all fine UNTIL, I go to one FEATURES screen. This appears to be a child window from another winder, it has no IE menus etc, just framed (but I DON"T think it is a 'frame')information where you can check and uncheck features and then apply or close the window. If I try to control it, focus returns to the CALLING page
How can I do this?
Here is some of the code that I think will point out what I am TRYING TO DO, and the calling code as well as some of the buttons I am trying to access.
Since this is a internal web page, I does not make sense to post the link, I could post the code for both pages if needed.
I do not have control over the design of the site, so I can not request to have changes made to the code (that would be TOO EASY ANYWAYS!!!)
I have the following code:


Sub CommandButton1_Click() 'create a new window

Dim web As String
Dim AccountCol As Integer
Account_Col = 5
Switch_Col = 7
web = Sheets("sheet3").Range("B1").Value
DoBrowse1 web
End Sub

Sub DoBrowse1(url As String)
Dim TargetFrame As String
Set BTS = CreateObject("Internetexplorer.Application")
BTS.Visible = True
BTS.Navigate url
End Sub


Which opens up a page, this page I can programically navigate and open
another page


Private Sub CommandButton3_Click()
Dim i_CurRow As Integer

i_CurRow = ActiveCell.Row
'ActiveSheet.Cells(Row, col_ANONYMOUSCALL).Value = "YES"
T_Account = ActiveSheet.Cells(i_CurRow, Account_Col).Value
'T_Account = Sheets("Main").Cells(i_CurRow, Account_Col).Value
T_Switch = ActiveSheet.Cells(i_CurRow, Switch_Col).Value

If Not BTS Is Nothing Then
whatpage (BTS)
End If

If Not BTS.Visible = True Then
BTS.Visible = True
End If

With BTS.document.BTSQueryBean 'document name = "BTS" form name =
"BTSQueryBean"
.btsswitch.Value = Trim(T_Switch)
.ACCTNO.Value = Trim(T_Account)
.billingsys(1).Click
.submit '.Click
End With
' calls BTS Detail screen
'waiting (40)
WaitReady
waiting (2)
spage = BTS.document.DocumentElement.outerHTML
CMTSValue = BTS.document.BTSDetailBean.CMTS.Value
AcctValue = BTS.document.BTSDetailBean.ACCTNO.Value
End Sub



All is good to this point, now, my next button, goes to a child of the
above page, and here is where I lose control.... The child is NOT
using the handle of the parent (BTS) so, how can I get data to and
from it? And submit the apply or close buttons



Private Sub FeaturesLine1_Click()
With BTS.document.BTSDetailBean 'document name = "BTS" form name =
"BTSDetailBean"
.featid0.Click 'This launched the features screen, which I
cannot control!<<<<<<
End With

End Sub


This now opens a new windows, no scroll balls, or ie menus (modeless?)
screen, almost like a popup, that has data I need to retrieve and then
possibly change and finally hit the "APPLY and then the "CLOSE"
button.

the HTML for the child page is available, but here are some of the key
points:
Here is the calling button press:
<input type="button" value="FEATURES" class="button" id="featid0"
onClick="launchFeatures('0', 'RTPKCABTPS0', 'S8770350472355221-1',
'0', 'CTXG_INDIVIDUAL', 'CHANGE', 'null');">

Here is the code that actually launches the child


function launchFeatures(a, b, c, i, catg, act, racfpilot)
{
var m,u;
var tn = document.BTSDetailBean.subservtn[i].value;
if ( tn == null || tn == "" )
{
alert ("Please enter subscriber telephone number")
return false;
}

u = "./feature.jsp?subidx=" + a + "&clli=" + b + "&subid=" + c +
"&subtn=" + tn + "&catg=" + catg + "&action=" + act +
"&racfpilotcode=" + racfpilot;
MM_openBrWindow(u,'locked','scrollbars=1,resizable=1');
return true;
}




The child page's form name is
<form name="BTSFeatureBean" method="POST" action="/bts/jsp/
btsfeat.do">



Any ideas how I could do this?
Thanks