【问题标题】:VBA innertext of the selected option for HTML dropdown listHTML下拉列表的选定选项的VBA内部文本
【发布时间】:2013-12-09 10:23:57
【问题描述】:

有没有办法为网页下拉列表选择所选选项的内部文本?我正在尝试这种方式,但不断收到错误 Object Required:

Dim drp As Object
Set drp = IE.Document.getElementById("ctl05_Dropdownlist1").selectedindex
Range("J" & (ActiveCell.Row)) = drp.innertext

我试图从 HTML 源代码的以下部分中提取选定的选项内文:

<select name="ctl05$Dropdownlist1" id="ctl05_Dropdownlist1" disabled="disabled" class="input">
<option value=""></option>
<option selected="selected" value="1">*DIRECT ISSUE</option>
<option value="2">*DIWELD</option>
<option value="3">*INACTIVE</option>

【问题讨论】:

    标签: vba excel html-select innertext


    【解决方案1】:

    .selectedindex?

    下拉菜单已禁用。那么你想怎么获取选中的item呢?

    如果你想要下拉菜单的内部文本,试试这个

    Set drp = IE.Document.getElementById("ctl05_Dropdownlist1")
    Debug.Print drp.innertext
    

    否则,如果您想要特定项目的内部文本,例如项目 1,则使用此

    drp.Item(1).innertext
    

    评论跟进

    如果您想检索禁用下拉列表中当前显示的内容,请使用此

    Set drp = IE.Document.getElementById("ctl05_Dropdownlist1")
    Range("J" & (ActiveCell.Row)) = drp.Item(drp.selectedIndex).innerText
    

    【讨论】:

    • 我试图从选中的禁用框选项中复制显示的文本。如果盒子被禁用,这是不可能的吗?我的电子表格用于从结果页面输入搜索和复制数据。结果页面在禁用的下拉列表中显示一些信息。对于每个新搜索,结果将在此框中显示不同的选定选项。无法选择特定项目,因为项目编号会随每个结果而变化。
    • 哦好的..更新我的帖子
    • 有效!在尝试从结果页面中提取信息之前,我添加了等待页面加载。在我再次收到该消息之前,它循环并工作了大约 7 行。我认为最后一个问题是我的宏运行速度比我的 ie 响应速度快。我会放慢一些。谢谢!你又是一个救生员!
    • 很高兴它成功了 :) 我很惊讶,因为我已经测试了代码并且它工作得很好......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-15
    • 2018-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多