gpt4 book ai didi

vba - 使用VBA登录网站

转载 作者:行者123 更新时间:2023-12-05 03:06:43 30 4
gpt4 key购买 nike

我是 Excel 宏 (VBA) 的新手,正在寻找一种使 IE 自动登录网站并进入特定页面的方法。网址:https://www.mast-technicalservices.com/ecp/index2.jsp并需要填写登录详细信息,然后单击继续。

Sub WebsiteLogIn()

Dim nURL As String
Dim UNElementID As String
Dim UserName As String
Dim PWElementID As String
Dim Password As String
Dim SIElementID As String


Set LoginData = ThisWorkbook.Sheets("Sheet1")
Set nURL = "https://www.mast-technicalservices.com/ecp/index2.jsp"
Set UNElementID = "ecp_param_userId"
Set UserName = LoginData.Cells(1, "B").Value
Set PWElementID = "ecp_param_password"
Set Password = LoginData.Cells(2, "B").Value
Set SIElementID = "imageField2"

Dim IE As Object
Dim IEPage As Object
Dim IEPageElement As Object


'Create a new Internet Explorer instance, make it visible and maximize its window and navigate to url.
On Error Resume Next
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
ShowWindow IE.hwnd, SW_MAXIMIZE

IE.navigate URL

Set IEPage = IE.document

'setthe UserName text box using the element ID.
Set IEPageElement = IEPage.getElementById(UNElementID)

'set the Password text box using the element ID.
Set IEPageElement = IEPage.getElementById(PWElementID)


'set the Continue button using the element ID.
Set IEPageElement = IEPage.getElementById(SIElementID)


End Sub

最佳答案

这个有效:

Sub login()

Const Url$ = "https://www.mast-technicalservices.com/ecp/index2.jsp"

Dim UserName As String, Password As String, LoginData As Worksheet
Set LoginData = ThisWorkbook.Worksheets("Sheet1")
UserName = LoginData.Cells(1, "B").Value
Password = LoginData.Cells(2, "B").Value

Dim ie As Object
Set ie = CreateObject("InternetExplorer.Application")

With ie

.navigate Url
ieBusy ie
.Visible = True

Dim oLogin As Object, oPassword As Object
Set oLogin = .document.getElementsByName("ecp_param_userId")(0)
Set oPassword = .document.getElementsByName("ecp_param_password")(0)

oLogin.Value = UserName
oPassword.Value = Password
.document.forms(0).submit

End With

End Sub

Sub ieBusy(ie As Object)
Do While ie.Busy Or ie.readyState < 4
DoEvents
Loop
End Sub

另一个子:ieBusy 将确保网页在您尝试操作之前已完全加载。

关于vba - 使用VBA登录网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48919491/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com