两个月以来,这个令人生气的弹出框一直困扰着我。有人帮我克服了这个问题。
我编写了一个代码来单击我网页中的锚链接,当单击此链接时,它通常会导航到下一页。如果单击链接时页面上的数据未正确提供,则会打开一个弹出框,并且我的 VBA 代码会停止,直到我在弹出框上单击“确定”(为什么我的 VBA 代码会停在这里?)。此外,我需要使用我的 VBA 关闭此按钮并更正数据并再次单击链接。我已经尝试过以下解决方案,它们对我来说似乎不是什么灵丹妙药。1.删除onclick属性(http://www.mrexcel.com/forum/excel-questions/426740-using-visual-basic-applications-close-internet-explorer-message-box-popup.html)即使它不适合我的情况,这也不起作用 2. 发送密钥-我不确定为什么人们甚至将其作为解决方案发布。我的代码在单击链接后很快停止并且代码永远不会到达发送密钥行直到弹出我手动关闭。
3.在点击链接之前打开另一个excel,在新的excel中运行代码关闭弹出框并关闭它(http://www.vbaexpress.com/kb/getarticle.php?kb_id=1146)这似乎工作,但我需要点击该链接近 500 次,这使得代码时不时打开 excel 表,这看起来很笨拙,耗时的过程耗时且不可行 有人可以告诉我一种关闭对话框的方法,为什么地狱有人发明了这个警报框。
这是我的代码
while x>1
'Fill the details in webpage
Set TDelements = IEfr1.getElementsByTagName("a")
For Each TDelement In TDelements
If TDelement.innerText = "Next" Then
' TDelement.Focus
' Call BeginTimer(500, IE.hwnd)
TDelement.Click '//this makes the alert box fire and code halts here until the box is closed
'TDelement.setAttribute "onclick", "return true"
TDelement.FireEvent ("onClick")
TDelement.FireEvent ("onsubmit")
' Application.Wait (10000)
While IE.Busy Or IE.readyState <> READYSTATE_COMPLETE: DoEvents: Wend
End If
Next
环形