我正在撰寫一個宏,它將加載一個網頁,在其中登錄并從一個表中獲取資料。 感謝這里的幾個主題,我已經做到了:
sub sail2()
Dim即As Object
Set ie = New(InternetExplorer.Application" )
ie.Visible = True
ie.Navigate "http://pfrwtekref/websail/"
與ie
Dim oLogin As Object, oPassword As Object
Set oLogin = .document.getElementById("txtPwd)(0)
Set oPassword = .document.getElementById("txtPwd")(0)
oLogin.Value = test
oPassword.Value = test
.document.forms(0).submit
End With
End Sub
但是我有兩種型別的錯誤 "自動化錯誤",如果我啟動宏和 "錯誤462 - 服務器不可用"
。誰能幫助我? 謝謝你的閱讀,祝你有個愉快的一天!
uj5u.com熱心網友回復:
第一個問題似乎是你在第三行有一個不匹配的逗號;然而,看到你正在抱怨一個自動化錯誤,我認為這可能只是這個網站的一個打字錯誤。
我不能看到你的內部網站,所以我只是猜測,但我懷疑下一個問題是沒有ID為 "txtPwd "的元素。你可以通過按下Ctrl-Shift-C,然后選擇用戶名和密碼輸入框來進行檢查確認。
最后,根據網站的設定情況,你的.document.forms(0).submit可能無法作業。你可能需要找到提交按鈕類submit的ID。下面是我不久前為這樣的任務創建的一個函式:
Function logIn(userName As String, 密碼 As String) As Boolean As Boolean
'這個例程使用給定的憑證登錄到成績冊。
Dim 即 As New InternetExplorer
Dim doc As HTMLDocument
On Error GoTo loginFail
ie.Navigate "[網站在這里]"
'ie.Visible = True
Do While ie.ReadyState <> READYSTATE_COMPLETE Or ie.Busy。DoEvents: Loop 'Wait server to respond
Set doc = ie.Document
doc.getElementsByName("u_name").Item(0).Value = userName '這些對你來說可能不同。
doc.getElementsByName("u_pass").Item(0) .Value = password
doc.getElementsByClassName("btn").Item(0) .Click
Do While ie.ReadyState <> READYSTATE_COMPLETE Or ie.Busy。DoEvents: Loop 'Wait server to respond
Set doc = ie.Document
'添加一個檢查以確認你們不在同一個頁面上。
ie.Quit
Set ie = Nothing。
登錄 = True
ExitFunction
loginFail:
MsgBox "登錄時出現了問題。請再試一次。"
logIntoGradeBook = False
結束 功能
注意,我所處理的網站設定得很差,所以我需要切換到GetElementsByName和GetElementsByClassName來獲取我所需要的東西。你可能用ID就可以了。
。uj5u.com熱心網友回復:
為什么你不嘗試使用Excel PowerQuery來從你需要的表中獲取你的資料呢?當你所需的列完成后,你只需點擊關閉和加載,選擇資料模型e現在你可以使用宏來執行PivotTable,只要你加載檔案,或者只使用PivotTable,當你使用資料功能區的重繪 資料時,資料將被重繪 。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/320199.html
標籤:
