On Error GoTo xxx の怪
私は怠惰なプログラミング環境としてExcel VBAを利用しているのだけど、エラートラップについてなんだかヘンテコな現象が。
普通、webbrowserコントロールを使ってなにかごにょごにょする場合、ページ読み込みの完了はUserForm1.WebBrowser1.ReadyStateやらUserForm1.WebBrowser1.Busyやらを参照するんだけども、フレームの入り乱れたページを扱うときはこれうまくいかないのですよね。読み込み中でもbusyにならなかったりします。スクリプトのせいかな?まあよくわからん。こういうのって株屋のページなんかには多いです。
でしょうがないのでdocumentの中に目当てのDOMオブジェクトができるまで待ってやろうと考えて以下のようなコードを書いたわけです。
On Error GoTo step1 step1: Sleep (50) Set objFRAME_main = objDOC.frames("main").frames("main1") objFRAME_main.Form1.btnChumonKakunin.Click
つまりクリックしたいボタンが現れるまでstep1にジャンプし続けようというわけです。結果的にページの読み込みを待っているのと同じです。
しかしこれ、動かないんです。よくエラーダイアログがでます。なんで?
ちなみにExcel 2003です。