这个令人愤怒的弹出框让我困扰了2个月..有些人帮我解决了这个问题。
我编写了一个代码来点击我的网页中的锚点链接,当点击此链接时,它通常会导航到下一页。如果在单击链接的页面上没有正确提供数据,则会打开一个弹出框,我的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.发送密钥 - 我不知道为什么人们甚至将此作为解决方案发布。我的代码在点击链接后很快停止,代码永远不会到达行发送密钥,直到弹出我手动sclosed。
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
环