我怎样才能在我的vba webbrowser文档中获得按类的所有元素?

下面的代码是在一个Excel 2010表单上带有浏览器控件。

在VBE参考部分中select了Microsoft HTML对象库,并使用VBA 7.0。

Option Explicit Private Sub UserForm_Initialize() WebBrowser1.Navigate "http://www.google.com/" End Sub Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant) Dim Inputs As IHTMLElementCollection 'returns inputs on page where class name is "gsfi" Set Inputs = wb.Document.GetElementsByClassName("gsfi") 'returns all inputs on a page Set Inputs = WebBrowser1.Document.GetElementsByTagName("Input") Debug.Print Inputs.Length End Sub 

编辑:我正在修改这个问题,从@Tim Williams的帮助来说明我实际上是什么。 我怎样才能得到TagName“input”和types的“文本”或“button”等所有元素?

你确定有这个类名的元素吗? 下面的代码表示没有该类的input…

编辑:“types”是你在找什么:

 Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant) Dim Inputs As IHTMLElementCollection, o As Object Set Inputs = pDisp.Document.getElementsByTagName("input") Debug.Print Inputs.Length '>>11 For Each o In Inputs Debug.Print o.Name, o.tagName, o.Type Next o End Sub