この腹立たしいポップアップ ボックスは、2 か月以来私を悩ませています..誰かがこれを乗り越えるのを手伝ってくれます。
Web ページのアンカー リンクをクリックするコードを作成しました。このリンクをクリックすると、通常は次のページに移動します。リンクをクリックしたときにページにデータが適切に提供されていない場合、ポップアップボックスが開き、ポップアップボックスで[OK]をクリックするまで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
ループ