我在UserForm中具有Web浏览器,并希望自动执行UserForm中的按钮操作过程。因此,一旦用户单击带有浏览器窗口代码的UserForm上的按钮,就应该进行网络抓取。如果不在UserForms Web浏览器中,则此方法有效。因此,现在当它位于UserForm中时,它将执行代码直到:
Application.Wait (Now + TimeValue("0:00:04"))
.Document.querySelector("[name=import_budgets]").Click
此后,我在.Document.querySelector("[name=import_budgets]").Click
上遇到错误。另外,Web浏览器未“刷新”(移至下一页),我看到它已经完成.Document.querySelector(".data .a_1_611").Click
并仅在收到错误后才移至下一页。 Web浏览器可以执行操作,但用户看不到它们,这可能就是为什么它无法继续进行下一个操作的原因。如何使这项工作正确?
With LCountry.WebBrowser1
Application.Wait (Now + TimeValue("0:00:02"))
If ThisWorkbook.Sheets("Other Data").Range("AL21").Value = 2 Then
.Document.querySelector(".data .a_1_611").Click
Else
.Document.querySelector(".data .a_1_610").Click
End If
Application.Wait (Now + TimeValue("0:00:04"))
.Document.querySelector("[name=import_budgets]").Click
'Unload IE
If Err <> 0 Then
MsgBox "There was an error running the code. Check your Internet and VPN connection. Please try one more time!"
Else
End If
On Error GoTo 0
End With
答案 0 :(得分:0)
通过添加以下内容解决了此问题:
...
Parent := Panel1;
Position := poDesigned; // add this line
BorderStyle := bsNone; // and this for a better embedded appearance
Top := 10;
...
使用代码进行每个Web抓取操作。