dポイントプレゼントキャンペーン実施中!

下記のような Script のエラーについて教えてください

Sub Test()
Dim IE As Object
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.Navigate "google.co.jp"
Do While IE.Busy Or IE.ReadyState <> 4
DoEvents
Loop
MsgBox "Googleを表示しました。"
End Sub

このようなVBS実行すると一度目は素直に動作するのですが
2度目は少し時間を置いて実行しないと下記の様なエラーになります。
どの様に直せば良いのでしょうか?

Windows Script Host
---------------------------
スクリプト: G:\Web.vbs
行: 8
文字: 5
エラー: 0x8150002E
コード: 8150002E
ソース: (null)
---------------------------
OK
---------------------------

OS Win 10 です。

A 回答 (2件)

VBS の環境が無いので、違っていたらごめんなさい。


「End Sub」の前に「IE.Quit」と入れれば良いと思います。
プログラム的にはさらに「IE.Quit」の後に「Set IE = Nothing」と入れた方が綺麗です。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
お礼が遅くなり申し訳ございませんでした。
体調不良でアクセス出来ないでいました。
「Set IE = Nothing」を入れたら希望どうり
動作する様になり感謝です。
本当にありがとうございました。

お礼日時:2018/06/24 20:47

No.1 の説明



何の反応も無いので(試してダメだったら「ダメでした」くらい言って欲しいです)どうしたらいいのか?判らないのですが…

なぜエラーになるのか?そしてどうして時間がたつとエラーにならないかですが、簡単に言うとプログラムが終わったら InternetExplorer を閉じる準備はしますがすぐには閉じません。閉じていないのにさらに開こうとしているからだと思います。「IE.Quit」を使う事で VBS でも閉じることが出来ると思います。もちろん、ある程度長い時間何もやらなければ自動で閉じてくれます。
ちなみに「Set IE = Nothing」で開放するのですが、なにかが InternetExplorer 使用しているといけないので閉じられるまではすぐには開放しません。

USBメモリをすぐに抜いてはいけないのと同じような理由です。
    • good
    • 0

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