动态下拉列表

时间:2017-04-15 16:17:31

标签: html excel vba excel-vba

我是网站上的新人,所以这是我的第一篇文章!

我必须通过网站查看许多汽车应用: http://www.monroe.com/en-US/。我的应用程序都在我的Excel文件中。在网站上我们有3个下拉列表(年份,品牌和型号)。我在互动Vba-Internet中有2个问题。

让我们说一下2010款雪佛兰Aveo5的研究

我的第一个问题是,当我选择第一个下拉列表(年份)时,第二个下拉列表不起作用。这就像第二次堕落被冻结了。我在HTML代码中注意到,当我被选中时,我在宏观期间的第一个下拉列表中,第二个是停留在禁用状态="禁用"。所以我尝试在我的代码中更改属性disabled = false或disabled =""但它也失败了。

我的第二个问题是HTML代码中的值。这是一个像这样的代码(价值" 42621")而不是年份(例如:2010年)。所以我不能在我的excel文件中使用我的年份作为值。 HTML代码中的年份只能在我的vba代码中找到innerhtml,innertext,outertext,textcontent ....

  1. 有没有办法正确使用drowdown列表?
  2. 我可以使用excel文件中的年份而不是HTML代码中写入的值吗?
  3. 这是我的代码:

    Sub Research()
    
    Dim IE As New InternetExplorer
    Dim IEDoc As HTMLDocument
    Dim Year As HTMLSelectElement
    Dim Make As HTMLSelectElement
    Dim Model As HTMLSelectElement
    Dim Button As HTMLFormElement
    
    IE.navigate "http://www.monroe.com/en-US/"
    IE.Visible = True
    While IE.readyState <> 4 Or IE.Busy: DoEvents: Wend
    
    Set IEDoc = IE.document
    
    Set Make = IEDoc.all("widget-ymm-make-desktop")
    Make.disabled = False
    
    Set Year = IEDoc.all("widget-ymm-year-desktop")
    Year.Value = "42621"  'I would like to put the year 2010 from my excel instead
    
    'Once the year is selected the dropdown make is not working or is frozen
    Make.textContent = "Chevrolet"
    
    Set Model = IEDoc.all("widget-ymm-model-desktop")
    Model.textContent = IEDoc.all("Aveo5")
    
    Set Button = IEDoc.all("lookup-form-desktop")
    Button.submit
    While IE.readyState <> 4 Or IE.Busy: DoEvents: Wend
    
    Set IE = Nothing
    Set IEDoc = Nothing
    IE.Quit
    
    End Sub
    

    以下是HTML代码的一部分:

        <select name="widget-ymm-year-desktop" class="widget-ymm-year widget-ymm-year-desktop form-control" id="widget-ymm-year-desktop" aria-required="true" required="">
    

    感谢您的帮助

0 个答案:

没有答案