2014-11-21 67 views
2

我想在excel中使用vba登录我的用户名和密码的网站。由于某种原因,我的用户定义的错误在我的顶线上,有人可以告诉我我哪里出错了。由于excel vba登录到使用vba的网页?

Dim HTMLDoc As HTMLDocument 
Dim MyBrowser As InternetExplorer 
Dim MyHTML_Element As IHTMLElement 
Dim MyURL As String 
On Error GoTo Err_Clear 
MyURL = "https://hewdenapps/RDWeb/Pages/en-US/default.aspx" 
Set MyBrowser = New InternetExplorer 
MyBrowser.Silent = True 
MyBrowser.navigate MyURL 
MyBrowser.Visible = False 
Do 
Loop Until MyBrowser.readyState = READYSTATE_COMPLETE 
Set HTMLDoc = MyBrowser.document 
HTMLDoc.all.Email.Value = "obrianm" 
HTMLDoc.all.passwd.Value = "Perry2012" 
For Each MyHTML_Element In HTMLDoc.getElementsByTagName(“input”) 
If MyHTML_Element.Type = “submit” Then MyHTML_Element.Click: Exit For 
Next 
Err_Clear: 
If Err <> 0 Then 
Err.Clear 
Resume Next 
End If 

回答

1

在VBA编辑器去工具引用...并启用Microsoft HTML对象库Microsoft Internet控制

编辑: 启用库的名单保存在工作簿中。因此,任何打开工作簿的用户都应启用库。如果用户有不同版本的库(如Office 2003和Office 2010),则可能会出现问题。比原来的图书馆丢失,无法加载。但这不是你的情况。

这是您如何从代码动态管理库的示例。检查Outlook库是否已加载,如果不是,则从文件中激活它(对于其他库从工具中获取正确路径,参考...)。

For Each r In ThisWorkbook.VBProject.References 
    If UCase(r.FullPath) = UCase("C:\Program Files (x86)\Microsoft Office\Office14\MSOUTL.OLB")  Then boo_Hit = True 
Next 
If boo_Hit = False Then ThisWorkbook.VBProject.References.AddFromFile "C:\Program Files (x86)\Microsoft Office\Office14\MSOUTL.OLB" 
+0

谢谢,你知道这是否可以使用vba启用?因为我想与可能不知道如何执行此操作的其他用户分享此工作簿 – 2014-11-21 10:00:10

+0

这似乎不能解决我的错误 – 2014-11-21 11:45:21