• ベストアンサー

VBA

VBAでIEを開いて操作する時に、 formが存在しない場合のコードを教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • pbforce
  • ベストアンサー率22% (379/1719)
回答No.3

タグを全て確認して、Formがあるか確認する方法です。 For Each objITEM In objIE.Document.all IF objITEM.tagname= "FORM" Then 'Formがあったらやる処理 Exit For 'Forから抜ける End If Next

arion32
質問者

お礼

いつも、どうもありがとうございます 非常に助かりました。 ありがとうございました。

その他の回答 (2)

  • pbforce
  • ベストアンサー率22% (379/1719)
回答No.2

表示が完了する前に、命令が実行されると言うことでしょうか? それなら表示が完了するまで待ちの状態を作って、完了後命令を実行します。 http://www.kwkwkw.com/mynote02-1.html こちらの表示待ちをするを参考にしてみてください。

arion32
質問者

補足

いつもすみません。 表示が完了する前ではないです・・。 該当するページに<form>タグが存在しない場合です。 http://aaaa・・・ http://bbbb・・・ http://cccc・・・ というように順に処理を行いたいのですが http://bbbb・・・のページがたまに<form>タグがない場合がありましてhttp://bbbb・・・で処理がとまってしまいます。 If Not (ie.document.form.Item(Mid(a(i), 3)) Is Nothing) というコードで止まってしまうんですが ここでとまらずにformがない場合はスキップさせたいのです。 次のhttp://cccc・・・ページに行って引き続き処理をしたいのです。 すみません、説明が下手で・・。 formが存在するかどうかのチェックの記述の仕方を教えてください・・。

  • pbforce
  • ベストアンサー率22% (379/1719)
回答No.1

Formの操作をするのにFormが存在しないはずはありません。 Form(n)としてみてください。n=0~ソース上の順番になります。 Form以外を操作したいのなら何をしたいのか教えてください。

arion32
質問者

補足

pbforce様 いつもお世話になっております。 URLを指定してブラウザが起動した時に そのURLが書き込み不可となっていますと FORMが存在しないんです。 ゲストブックが表示されていない場合など エラーで止まってしまいます。

関連するQ&A