我有低中VBA技能,主要是在单个文档中编写Subs,移动项目并创建大量条件。我只调用了一次Outlook.Application并创建了一个代码,该代码使用Shell为任何用户查找“我的文档”的位置。
我正在构建一个填充网络表单并从IE中获取表格数据并将其重新插入电子表格的子程序。我在下面使用的所有示例都可以很好地导航到页面,但是当我尝试填写表单时,我似乎总是遇到“类不支持自动化(错误430)”错误。
我在多个网站上尝试了以下所有不同的代码,但我总是遇到同样的错误。
Sub TEST4()
Dim HTMLDoc As MSHTML.HTMLDocument
Dim HTMALInput As MSHTML.HTMLElementCollection
Dim ie As Object
Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = True
ie.navigate "https://en.wikipedia.org/wiki/Main_Page"
Do While ie.readyState <> READYSTATE_COMPLETE
Loop
Debug.Print ie.LocationName, ie.LocationURL
ie.document.forms("searchinput").elements("search").Value = "Document Object model" 'hit a 430 error
End Sub
Dim HTMLDoc As HTMLDocument
Dim MyBrowser As InternetExplorer
Sub MyGmail()
Dim MyHTML_Element As IHTMLElement
Dim MyURL As String
On Error GoTo Err_Clear
MyURL = "www.gmail.com"
Set MyBrowser = New InternetExplorer
MyBrowser.Silent = True
MyBrowser.navigate MyURL
MyBrowser.Visible = True
Do
Loop Until MyBrowser.readyState = READYSTATE_COMPLETE
Set HTMLDoc = MyBrowser.document
HTMLDoc.all.quickSearchForm.Value = "Test@gmail.com" 'Enter your email id here
HTMLDoc.all.passwd.Value = "abc+123" 'Enter your password here
For Each MyHTML_Element In HTMLDoc.getElementsByid("quickSearchForm")
If MyHTML_Element.Type = "submit" Then MyHTML_Element.Click: Exit For
Next
Err_Clear:
If Err <> 0 Then
Err.Clear
Resume Next
End If
End Sub
还有更多示例,但据我所知,这些是培训文档中引用的基本示例。
另一个快速问题: 使用工作代码,我应该在最后清除我的“昏暗”
Dim MyHTML_Element As Null
Dim MyURL As Null