![]() |
IE Automation combobox
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 |
IE Automation combobox
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 |
All times are GMT +1. The time now is 03:56 PM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com