Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
How do you fire HTML events using Excel to automate IE?
Hi,
I'm trying to automate a web form-filling process by using Excel to control IE, similar to the way discussed in the most helpful "Web Browser Question" thread found he http://www.microsoft.com/office/comm...xp=&sloc=en-us The website has 2 combo/dropdown boxes called "Name" and the 2nd called "Type". In all cases, I would like to set the "Type" to 'Other'. The problem is that the value of Type equating to 'Other' changes depending on the value of Name. So for example, if Name.value="A" then the 'Other' option for Type is set to "X". But if Name.value="B" then to choose 'Other' we need Type.value="Y". Having looked through the HTML source code, I have identified that this assignment is done in a Name_onchange() event, fired when the *selection* of Name is changed. Therefore, changing the value of Name in code using IE.Document.All.Item("Name").Value="A" unfortunately does not cause this event to fire, meaning that the 'Other' option for Type will never have been set to "X", hence the line IE.Document.All.Item("Type").Value="X" will fail to set Type to 'Other'. **** So my question is: What line(s) of code do I need to have IE recognise that the Name value has changed, therefore firing the the Name_onchange() event? Would I need something like a Name.Select="A" (don't know the syntax so I can't get this working...) to simulate a manual selection, or something else? I would really appreciate any ideas and help!! Thanks very much in advance everyone! |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
How do you fire HTML events using Excel to automate IE?
Use .Navigate Javascript......
to fire that event if it uses java script. Regards, Jason wrote: Hi, I'm trying to automate a web form-filling process by using Excel to control IE, similar to the way discussed in the most helpful "Web Browser Question" thread found he http://www.microsoft.com/office/comm...xp=&sloc=en-us The website has 2 combo/dropdown boxes called "Name" and the 2nd called "Type". In all cases, I would like to set the "Type" to 'Other'. The problem is that the value of Type equating to 'Other' changes depending on the value of Name. So for example, if Name.value="A" then the 'Other' option for Type is set to "X". But if Name.value="B" then to choose 'Other' we need Type.value="Y". Having looked through the HTML source code, I have identified that this assignment is done in a Name_onchange() event, fired when the *selection* of Name is changed. Therefore, changing the value of Name in code using IE.Document.All.Item("Name").Value="A" unfortunately does not cause this event to fire, meaning that the 'Other' option for Type will never have been set to "X", hence the line IE.Document.All.Item("Type").Value="X" will fail to set Type to 'Other'. **** So my question is: What line(s) of code do I need to have IE recognise that the Name value has changed, therefore firing the the Name_onchange() event? Would I need something like a Name.Select="A" (don't know the syntax so I can't get this working...) to simulate a manual selection, or something else? I would really appreciate any ideas and help!! Thanks very much in advance everyone! |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
How do you fire HTML events using Excel to automate IE?
Hi Shetty,
Firstly many thanks for your reply, and many thanks for your very detailed and helpful replies in "Web Browser Question"! Yes, the site uses Javascript, but I'm still a little confused...I'm a newbie to automation, so please bear with me... :) So if the list for "Type" is generated in the "Name_onchange()" event when the dropdown selection for "Name" is changed, how should I modify my code (below) to fire this? At the moment I have: ------------------------------------- Sub Test() Dim IE as InternetExplorer Dim MyCtrl as Object Set MyCtrl = IE.Document.All.Item("Name") MyCtrl.Value = "A" End Sub ------------------------------------- Unforunately, as you probably realise, this doesn't fire the event. Where should I insert the ".Navigate Javascript" command, and could you please help me specify the correct syntax? I really appreciate your help- thankyou! "Shetty" wrote: Use .Navigate Javascript...... to fire that event if it uses java script. Regards, Jason wrote: Hi, I'm trying to automate a web form-filling process by using Excel to control IE, similar to the way discussed in the most helpful "Web Browser Question" thread found he http://www.microsoft.com/office/comm...xp=&sloc=en-us The website has 2 combo/dropdown boxes called "Name" and the 2nd called "Type". In all cases, I would like to set the "Type" to 'Other'. The problem is that the value of Type equating to 'Other' changes depending on the value of Name. So for example, if Name.value="A" then the 'Other' option for Type is set to "X". But if Name.value="B" then to choose 'Other' we need Type.value="Y". Having looked through the HTML source code, I have identified that this assignment is done in a Name_onchange() event, fired when the *selection* of Name is changed. Therefore, changing the value of Name in code using IE.Document.All.Item("Name").Value="A" unfortunately does not cause this event to fire, meaning that the 'Other' option for Type will never have been set to "X", hence the line IE.Document.All.Item("Type").Value="X" will fail to set Type to 'Other'. **** So my question is: What line(s) of code do I need to have IE recognise that the Name value has changed, therefore firing the the Name_onchange() event? Would I need something like a Name.Select="A" (don't know the syntax so I can't get this working...) to simulate a manual selection, or something else? I would really appreciate any ideas and help!! Thanks very much in advance everyone! |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Stop excel from processing HTML? IE paste raw html. | Excel Discussion (Misc queries) | |||
Can I use VBA to automate the recording of daily events? | Excel Discussion (Misc queries) | |||
Data Val list Excel 97 fire macro | Excel Discussion (Misc queries) | |||
Excel 2003 won't fire Excel 2000 Macro | Excel Programming | |||
Which Events Fire When I Delete A Row, and How Many Times? | Excel Programming |