Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I am 99% finished a little application that will automate a bunch of web
procedures at work for me. So I can basically start it up on my laptop, and let the application do it's work. The only problem I am having is that a combobox in the web application has an onchange() event set. Is there anyway at all using the Microsoft Internet Controls (or any other control set) to make the drop-down box fill with the appropriate selection? I have tried: Sub SetTheDropDown() Set ie = CreateObject("InternetExplorer.Application") ie.Visible = True ie.navigate2 "{web address}" [login procedure to address] [click a link to bring me to the right screen] DropDownName = "_cboDefaultPortfolio" For Each Tag In ie.Document.all.tags("option") 'This loop get's the ID for the dropdown Debug.Print Tag.innerText If Tag.innerText = "SaveAllDocuments (portfolio)" Then DropID = Tag.Value Set Ipf = ie.Document.all.Item(DropName) Ipf.Value = DropID Exit For End If Next Tag ie.quit Set ie=nothing End Sub The thing is that when I do this the combobox value changes, but the onchange() event does not fire. I tried running ie.navigate javascript() with that code, but all it does is put a number up on my screen. Then I was hoping Ipf.Click would open up the combobox, and then I could use SendKeys to send a unique first key like |. Then I tried using "SendKeys" to send the tab command to try to reach the combobox, and the selecting from there. If you actually click on the combobox dropdown, and make a new selection the screen refreshes and saves the selected portfolio as the default portfolio. Is there any other way to interact with a selection/combobox? I could not find anything at all using Google search, and it frustrates me to no end that I am so close, but this one item is stopping me. Andy |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
The onChange event doesn't fire if value is changed programmatically.
The simpiest way is to call onChange function directly. The complex way is to similute windows messages. You can also look at SWExplorerAutomation SWEA (http://webunittesting.com). SWEA greatly simplifies the development of the automation solutions. SWEA supports frames, html and windows dialogs, popup windows. Daril wrote: I am 99% finished a little application that will automate a bunch of web procedures at work for me. So I can basically start it up on my laptop, and let the application do it's work. The only problem I am having is that a combobox in the web application has an onchange() event set. Is there anyway at all using the Microsoft Internet Controls (or any other control set) to make the drop-down box fill with the appropriate selection? I have tried: Sub SetTheDropDown() Set ie = CreateObject("InternetExplorer.Application") ie.Visible = True ie.navigate2 "{web address}" [login procedure to address] [click a link to bring me to the right screen] DropDownName = "_cboDefaultPortfolio" For Each Tag In ie.Document.all.tags("option") 'This loop get's the ID for the dropdown Debug.Print Tag.innerText If Tag.innerText = "SaveAllDocuments (portfolio)" Then DropID = Tag.Value Set Ipf = ie.Document.all.Item(DropName) Ipf.Value = DropID Exit For End If Next Tag ie.quit Set ie=nothing End Sub The thing is that when I do this the combobox value changes, but the onchange() event does not fire. I tried running ie.navigate javascript() with that code, but all it does is put a number up on my screen. Then I was hoping Ipf.Click would open up the combobox, and then I could use SendKeys to send a unique first key like |. Then I tried using "SendKeys" to send the tab command to try to reach the combobox, and the selecting from there. If you actually click on the combobox dropdown, and make a new selection the screen refreshes and saves the selected portfolio as the default portfolio. Is there any other way to interact with a selection/combobox? I could not find anything at all using Google search, and it frustrates me to no end that I am so close, but this one item is stopping me. Andy |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
fill combobox depending on selection from another combobox | Excel Discussion (Misc queries) | |||
Combobox items determined by the selection in another combobox | Excel Programming | |||
Combobox options based on the input of another combobox | Excel Programming | |||
ComboBox list reliant on the entry from a different ComboBox | Excel Programming | |||
How Do I Load A ComboBox RowSource From The Results Of Another ComboBox | Excel Programming |