Html 如何在VBA中从下拉菜单访问选项
我是VBA新手,我必须从特定网站的internet explorer页面之一的下拉菜单中选择选项2 下面是该网页的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 -
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代码进行测试,这可能有助于了解如何满足您的需求。