この人頭いいなと思ったエピソード

下記コードを実行すると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

「IEの操作(Busy)でエラーになる」の質問画像

A 回答 (3件)

No.2 です。


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

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

お礼日時:2009/10/24 11:05

Excelは2000と言うことですが、OSとieのバージョンは何でしょうか?


osはxpそれともvistaまさか7?
ieのバージョンは6か7か8かそれ以外か?
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/10/23 22:24

とりあえず


>Set objIE = CreateObject(
の次に
objIE.Visible = True
を追加したらどうなります?
    • good
    • 2
この回答へのお礼

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

お礼日時:2009/10/23 22:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報