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

タイトルのとおりです。
たまにビジー状態のまま止まってしまうサイトがあるので60秒で抜けるようにしたいのですがうまくいってるかどうかわかりません。
変数をプロシージャの外に置くとエラーになるのはなぜですか。
このコードで問題ないでしょうか。ご指摘お願いします。


COM_ERR_IGN// COMエラー無視

procedure ie_wait( ie )
Dim tm//←プロシージャの外だとエラーになる
tm=0
repeat
Sleep(0.5)//環境が悪いので長めにしてみた
tm=tm+0.5
until (! ie.busy) and (ie.readyState=4)
ifb tm > 60
EXIT//プロシージャを抜ける
endif
Sleep(0.5)
Fend

質問者からの補足コメント

  • エラーは
    「変数:TMが定義されていません。」
    です。

      補足日時:2017/10/27 02:37

A 回答 (2件)

> 変数をプロシージャの外に置くと



> エラーは
> 「変数:TMが定義されていません。」
> です。

グローバル変数として扱うなら、

Public tm

と宣言してください。
    • good
    • 0
この回答へのお礼

ローカル変数のスコープはプロシージャごとなんですかね。
教えていただいてありがとうございました。

お礼日時:2017/10/27 17:39

> 変数をプロシージャの外に置くとエラーになるのはなぜですか。



どういうエラーですか?

例えば、

変数: TMは既に定義されています

ってエラーなら、エラーメッセージどおり、既にプロシージャの外に変数tmが定義されているとか。


> このコードで問題ないでしょうか。

良くあるサンプルと似た処理ですから、問題ないと思いますが。

IE表示待ち(BusyWait) - UWSCで試したことや関数、メモなどを記録する忘備録的なブログです。
http://uwscblog.blog.fc2.com/blog-entry-3.html
UWSCのマクロで,IEを起動して自動操作するサンプルコード - 主に言語とシステム開発に関して
http://language-and-engineering.hatenablog.jp/en …
    • good
    • 0

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