• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:DoEvents)

VBSでDoEventsは使えない理由とは?

このQ&Aのポイント
  • VBSでのDoEventsの使用はできません。なぜなら、VBS(Visual Basic Scripting Edition)はマルチスレッド処理に対応しておらず、イベントループを処理するための仕組みがありません。
  • 一方、VBA(Visual Basic for Applications)はマルチスレッド処理に対応しており、DoEventsを使用することでイベントループを処理することができます。
  • したがって、VBSではDoEventsを使うことはできず、エラーが発生する可能性があります。VBSで非同期のイベント処理を行う場合には、代わりに他の方法(例:Sleep関数)を使用する必要があります。

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

  • ベストアンサー
  • VT250F
  • ベストアンサー率30% (26/84)
回答No.1

vbsのDoEventsはSleepで代用できるから問題ないと言うことで、 vbsの仕様から除外されたのでしょう。 他にも On Error でラベルが使えませんし、 APIを呼べませんし、色々と不便な所があります。 見るとIEを操作しているようですね。 自分もVBSでIEに自動で入力してエンターを押すようなVBSを作成して、 便利に使っていますが、Windows Updateで ある日突然エラーになり、その回避方法にまた新たな手法が必要になったりしました。 出来ないものや、ないものは回避策をいくつか研究するとよいでしょう。

kpermiogzj
質問者

お礼

代用するものがある場合、使えなくなるのですか。 どちらを使えるようにしてくれてもいいのに・・・ vbsは色々制限があるのですね。 Windows Updateでエラーになる事もあるのですか。 そのことも踏まえて対策を練ろうと思います。

関連するQ&A

専門家に質問してみよう