我想添加一些代碼來讓用戶窗體彈出,允許最終用戶輸入他們的登錄名/密碼爲特定的網站。此代碼Passing variable from Form to Module in VBA讓我更接近我的目標,但我不確定如何使其按我需要的方式工作。這是我的用戶表單的代碼。直接從用戶表單分配一個變量
Private Sub CommandButton1_Click()
UPass = UserForm1.UserID
Unload UserForm1
End Sub
Private Sub CommandButton1_Click()
UID = UserForm1.WavePassword
Unload UserForm1
End Sub
,我使用下面的代碼登錄到該網站。
Public Sub Connect_To_Wave()
Dim Dasboard As Worksheet
Set Dashboard = ActiveWorkbook.Worksheets("Dashboard")
Dim UID As String
UID = driver.findElementByName("PASSWORD").SendKeys UID
Dim UPass As String
UPass = driver.findElementByName("PASSWORD").SendKeys Upass
Set ie = CreateObject("InternetExplorer.Application")
my_url = "url of website - not a variable"
With ie
.Visible = True
.Navigate my_url
.Top = 100
.Left = 530
.Height = 700
.Width = 400
Do Until Not ie.Busy And ie.readyState = 4
DoEvents
Loop
End With
ie.Document.getElementById("txtLoginUsername").Value = ""
ie.Document.getElementById("txtLoginPassword").Value = ""
ie.Document.getElementById("txtLoginUsername").Value = UID
ie.Document.getElementById("txtLoginPassword").Value = UPass
ie.Document.getElementById("btnLogin").Click
Do Until Not ie.Busy And ie.readyState = 4
DoEvents
Loop
End Sub
我遇到的問題是,我得到的UID/upass變量「語句的預期結束」的錯誤。如何正確獲取用戶窗體直接將輸入傳遞給變量,以便可以使用該變量登錄到網站?如果還有更好的方法,我完全可以改變方法。
我還沒有得到直到運行任一組代碼。當我輸入UID =/UPass =行時,他們都變成了紅色並標記了錯誤。 – TonyP
程序'CommandButton1_Click'被定義兩次。這不能編譯。同樣,'Connect_To_Wave()'應該是'ConnectToWave(ByVal uid As String,ByVal pwd As String)' - 你不顯示錶單的實例,但是它分配全局變量並卸載窗體的全局/默認實例isn這是一個堅實的代碼。 –
我按照建議進行了這些更改。我不知道如何從這裏進行測試。我打F8運行用戶窗體,並按預期運行,但我不知道如何在同一時間測試登錄代碼。當我嘗試F8登錄代碼時,它只是停止,但不提供錯誤消息。 – TonyP