Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 如何在VBA中从下拉菜单访问选项_Html_Excel_Vba_Internet Explorer - Fatal编程技术网

Html 如何在VBA中从下拉菜单访问选项

Html 如何在VBA中从下拉菜单访问选项,html,excel,vba,internet-explorer,Html,Excel,Vba,Internet Explorer,我是VBA新手,我必须从特定网站的internet explorer页面之一的下拉菜单中选择选项2 下面是该网页的html代码的快照。 我无法找到访问VBA中下拉选项的方法。 我尝试过使用它,但它似乎没有针对我想要的元素 Set objShell3 = CreateObject("Shell.Application") IE_count = objShell3.Windows.Count For x = 0 To (IE_count -

我是VBA新手,我必须从特定网站的internet explorer页面之一的下拉菜单中选择选项2

下面是该网页的html代码的快照。

我无法找到访问VBA中下拉选项的方法。 我尝试过使用它,但它似乎没有针对我想要的元素

Set objShell3 = CreateObject("Shell.Application")
              IE_count = objShell3.Windows.Count
              For x = 0 To (IE_count - 1)
            On Error Resume Next
            my_url = objShell3.Windows(x).document.Location
            my_title = objShell3.Windows(x).document.Title
             MsgBox ("The title of this page is: " & my_title)


         If my_title Like "Export to Excel" & "*" Then
        Set ie3 = objShell3.Windows(x).document
        my_title3 = ie3.Title
        MsgBox ("The title of Export to Excel is: " & my_title3)
        Exit For
    Else
End If

Next

      For Each element In ie3.getElementsByTagName("a")
  If element.innerText = "Option2" Then

    element.Click
      Exit For
        Else
    End If
Next
是否有任何特定的语法来访问vba中下拉菜单的选项


谢谢:)

一个url确实会很有帮助,但您要查找的内容必须在select标记元素中

HTML名称属性并不总是唯一的,但假设这是第一个使用此名称的属性,则可以通过以下方式将select元素设置为对象:

Set objSelect = ie3.getElementsByName("selectedHostId")(0)
如果展开该元素,您将看到它有带有选项标记的子元素。 选项标记的值和内部文本并不总是相同的。你必须使用这个值

objSelect.Value = "ValeOfOptionElementYouNeed"
下拉列表有一个onChange事件。您可能需要“启动”它以模拟手动选择:

objSelect.FireEvent "onChange"

您可以通过共享url或使用snippet工具粘贴html吗?这样我们就可以从html代码的图片中复制粘贴以进行测试。看起来您试图选择的是一个没有任何事件的span标记。如果您发布示例HTML,我们可以尝试运行它并检查其结构。然后,我们可以使用VBA代码进行测试,这可能有助于了解如何满足您的需求。