1

この腹立たしいポップアップ ボックスは、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

ループ

4

0 に答える 0