ウェブサイトを制御して(VBAを使用)、テーブル内の選択したアイテムをすべて削除しようとすると、本当にすべてを削除するかどうかを尋ねるJavascriptポップアップが表示されます(OKまたはキャンセル)。これがポップアップすると、私のvbaコードは停止し、人間がボタンをクリックするまで何もしません。VBAからJavascriptメッセージボックスを消去する
私はこれをかなり研究していますが、HTMLボタンのonClickイベントを変更すると理論的にはうまくいくと思われますが、まだ動作していないようです。以下はボタンのHTMLコード、それに続くJavascriptコード、次に私のVBAコードです。
HTMLボタン
<p>Delete: <input type="button" name="button_Delete" value="Delete" onclick="doDelete('c');"> <span class="note">Deletes all selected charts.</span></p>
<p>Move to: <select id="select_Lists" name="select_Lists">
JavascriptのHTMLボタンの後
<a href="javascript:doDeleteList('169', 'C');">Delete List</a> |
VBAコードは、すべてのHTMLの表から選択削除する
Dim ieDelete as HTMLInputButtonElement
SetieDelete = IE.Document.getElementsByName("button_Delte")(0)
Sleep(500)
ieDelete.removeAttribute("onClick")
Sleep(500)
ieDelete.setAttribute "onClick", "return true;"
Sleep(500)
ieDelete.Click
VBAをそのまま実行すると、引き続きJavascriptメッセージボックスが表示されます。 ieDelete.setAttribute "onClick"、 ""を追加しようとしましたが、イベント全体を削除してしまいました。それ以降は何もできませんでした。
...記録のために、別のオプションを説明する投稿も見ましたが、自分のシナリオでどのように使用するかわかりませんでした。 Respond to Website Message Box by Automating InternetExplorer with VBA
ご協力いただきありがとうございます。 ieDelete.Click
を呼び出す前に、次のVBAコードを使用して、組み込みのJavaScript confirm
機能を上書き:
信じられないほど!それは素晴らしい仕事をした。 私はそれが永久にそのメッセージボックスを無効にしないと思いますが、代わりにその実行のためだけですか? –
はい。その実行のためにのみ。ナビゲートまたは更新すると、元の機能が復元されます。 –
優れています。助けてくれてありがとう。 –