• ベストアンサー

IEの操作(Busy)でエラーになる

下記コードを実行するとBusyの所でエラーになってしまいます。 何が悪いのでしょうか?教えて下さい。 Excel2000で起動しました。 Sub tst031() Dim fff As String 'ファイルパス Dim objIE As Object 'オブジェクト Dim Myhtml As Variant 'HTMLタグデータ Dim objTAG As Object '制御htmlファイル fff = "http://oshiete.goo.ne.jp/" 'Webページ表示 Set objIE = CreateObject("InternetExplorer.Application") objIE.Navigate fff '画面表示待ち Do While objIE.Busy = True DoEvents Loop For Each objTAG In objIE.document.body.all Debug.Print objTAG.tagName Next objIE.Quit 'MsgBox Myhtml End Sub

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

  • ベストアンサー
  • hotosys
  • ベストアンサー率67% (97/143)
回答No.3

No.2 です。 xpとie6では動くようでした。 busyがおかしいのはCreateObjectされたobjIEでの問題のようなので、excelと言うよりie(またはそのバージョン)またはosに関わる問題(と言うか違い)ではないかと思ったためです。 ちゃんと動いた会社のieのバージョンは6ではないかと思います。 ie7は色々扱いが難しいという話を見た事があって http://www.happy2-island.com/vbs/cafe02/capter00711.shtml それに関わる問題かもしれません。 ただ、documentの取得のエラーなどではなくbusyの取得がエラーになるのはちょっと不明なのですが(普通は取得する事自体はエラーにならなそう)・・・ ie6なので実際にチェックできないのですが、そちらの問題かもしれません。

tarinko_06
質問者

お礼

教えてもらったURLの通りにしたら出来ました! ありがとうございます。助かりました!! .

その他の回答 (2)

  • hotosys
  • ベストアンサー率67% (97/143)
回答No.2

Excelは2000と言うことですが、OSとieのバージョンは何でしょうか? osはxpそれともvistaまさか7? ieのバージョンは6か7か8かそれ以外か?

tarinko_06
質問者

お礼

回答ありがとございます。 OSはVISTAでIEは7です。 試しに会社のXPで2003を使い IEの操作をやってみましたがこちらは問題なく出来ました。 何かのバージョンが悪いのでしょうか…。

回答No.1

とりあえず >Set objIE = CreateObject( の次に objIE.Visible = True を追加したらどうなります?

tarinko_06
質問者

お礼

回答ありがとうございます。 追加しても駄目でした。 今度はリモートがないとか言われちゃいました。

関連するQ&A

専門家に質問してみよう