如何使用 VBA 登录网站并检索数据以达到 excel?

纳比尔

有很多关于如何登录网站的示例,例如 gmail

但出于某种原因,我的代码只打开网页而不登录目标页面,使用提供的用户名和密码

我已启用 HTML 对象库和 Microsoft Internet Controls

有什么想法,因为我对这个对象库还很陌生?

另外,我如何在登录后抓取一个表格以从网站导入到 excel 中?

我尝试了宏录制,但需要密码才能登录网站

一个例子会有所帮助:) 非常感谢!

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 = "https://www.google.com/accounts/Login"


 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.Email.Value = "[email protected]" 
 HTMLDoc.all.passwd.Value = "************" 'my password would be here


 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

End Sub
吉姆克莱顿
Sub LoginToSite()

Const cURL = "https://singlepoint.usbank.com/cs70_banking/logon/sbuser"
Const ccompanyID = "YourCustomerIDHere"
Const cj_username = "YourUserIDHere"
Const cj_password = "YourPasswordHere"

Dim IE As InternetExplorer
Dim doc As HTMLDocument
Dim LoginForm As HTMLFormElement
Dim CustomerIDInputBox As HTMLInputElement
Dim UserIDInputBox As HTMLInputElement
Dim PasswordInputBox As HTMLInputElement
Dim objElement As Object
Dim objCollection As Object

Set IE = New InternetExplorer

IE.Visible = True
IE.navigate cURL

'Wait for initial page to load

Do While IE.readyState <> READYSTATE_COMPLETE Or IE.Busy: DoEvents: Loop

Set doc = IE.document

'Get the only form on the page

Set LoginForm = doc.forms(0)

'Get the CustomerID textbox and populate it
'input name="companyID" id="companyID" size="18" value="" type="text"

Set CustomerIDInputBox = doc.getElementById("companyID")
UsernameInputBox.Value = ccompanyID

'Get the UserID textbox and populate it
'input name="j_username" id="j_username" size="18" type="text"

Set UserIDInputBox = doc.getElementById("j_username")
UsernameInputBox.Value = cj_username

'Get the Password textbox and populate it
'input name="j_password" id="j_password" size="18" type="password"


Set PasswordInputBox = doc.getElementById("j_password")
PasswordInputBox.Value = cj_password

'Get the form input button and click it
'input name="submit_logon" size="18" type="image"

Set ElementCol = IE.document.getElementsByName("submit_logon")
ElementCol.Item(0).Click

'Wait for the new page to load

Do While IE.readyState <> READYSTATE_COMPLETE Or IE.Busy: DoEvents: Loop

End Sub

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用VBA Excel从网站提取数据?

来自分类Dev

使用Excel-VBA登录网站

来自分类Dev

如何使用VBA和SQL从其他Excel检索数据?

来自分类Dev

如何使用VBA Excel 2010导入CSV Excel数据以进行单元格分隔msoFileDialogOpen

来自分类Dev

使用VBA筛选Excel数据

来自分类Dev

如何使用Excel vba从javascript / CSS网站中选择元素?

来自分类Dev

使用CSS选择器从网站抓取数据Excel VBA

来自分类Dev

使用动态数组函数从网站抓取数据 - Excel VBA

来自分类Dev

如何使用VBA从变量Excel工作簿复制数据?

来自分类Dev

如何使用VBA将Google表格中的数据导入Excel

来自分类Dev

如何使用Excel或VBA为不同的数据打印不同的图表?

来自分类Dev

如何使用Excel VBA遍历动态数据透视表?

来自分类Dev

使用Excel VBA从网站上抓取文字

来自分类Dev

使用excel VBA“单击”网站的按钮

来自分类Dev

使用Excel VBA从网站上抓取文字

来自分类Dev

如何使用Excel VBA检索从日期到系统日期之间的数据(自动错误)

来自分类Dev

使用Excel vba登录到javascript网页

来自分类Dev

如何在excel中导出消息框显示数据以使用vba访问数据库表

来自分类Dev

Excel:如何从VBA打开数据输入表单?

来自分类Dev

使用VBA使Excel从源刷新数据

来自分类Dev

使用Excel VBA导入Web数据

来自分类Dev

使用 VBA Excel 存储数据失败

来自分类Dev

Excel VBA登录

来自分类Dev

如何使用Excel VBA 2010从Excel工作表中读取数据

来自分类Dev

使用Selenium的Excel VBA

来自分类常见问题

如何使用VBA加速Excel公式?

来自分类Dev

如何使用VBA在Excel中引用表?

来自分类Dev

如何使用Excel vba引用特殊字符

来自分类Dev

如何使用Excel VBA创建标识矩阵?

Related 相关文章

热门标签

归档