需要使用Excel VBA下拉菜单自动化IE

时间:2016-02-19 08:12:27

标签: excel vba internet-explorer drop-down-menu ie-automation

我希望自动化一个名为“Timesheet”的下拉菜单的网站,然后点击列表中第3个菜单项“项目”。

以下是HTML代码:

' Create InternetExplorer Object
Set IE = CreateObject("InternetExplorer.Application")

'IE.Visible = False

IE.Navigate "http://st-toss/"

' Wait while IE loading...
Do While IE.Busy
    Application.Wait DateAdd("s", 1, Now)
Loop

IE.Visible = True

Set ElementCol = IE.Document.getElementsByClassName("dropdown-menu")

ElementCol.Item(2).Click

' Clean up
Set IE = Nothing
Set objElement = Nothing
Set objCollection = Nothing

Application.StatusBar = ""

VBA代码: 私有子IE_Test()     昏昏欲睡     将IE视为对象     Dim ElementCol As Object

options="{pagination: false}"

End Sub

我尝试通过classname / tagname进行选择,但是一旦我没有添加任何断点,我就得到了相同的错误自动化错误/未指定的错误。一旦我把断点放在get方法错误消息上,就说调用的对象与客户端断开连接。

请建议我如何解决这个问题。

Refrences for VBA

1 个答案:

答案 0 :(得分:0)

ElementCol是类"下拉菜单"中元素的集合。 (您在设置getElementsByClassName时创建了此集合。请注意" Elements"是复数。)

该课程中有多少个元素,哪一个是你需要的元素? 如果这是该类中唯一的元素,那么您可以通过以下方式引用它:

elementCol(0).selectedIndex = 2

或类似的东西。