VBA【Waitメソッド】指定した時間処理を止める



The following two tabs change content below.

taka

あることがキッカケでVBAを独学で勉強しました、今ではブログを通してVBAでできることを解説しつつ、VBAや他の言語の勉強、ブログ運営の勉強をしています(^^♪

どうも、takaです(^^♪

普段VBAで開発をしていて【処理を一定時間止めたい】と感じたときはありませんか?

VBAで指定した時間だけ処理を止める場合 API関数である「Sleep関数」を使うことが多いです、ですがSleep関数以外にも実は処理を止めることが可能なんです(^^♪

それが今回ご紹介するApplicationオブジェクトの「Waitメソッド」を使う方法です(^^)/

今回はWaitについてご紹介していきます(^^♪

Waitメソッドの使い方

Waitメソッドを使用して処理を止める方法はいくつかありますのでご参考に(^^♪

Waitメソッドの書式

Waitメソッドの書式は以下の通りです!

処理を開始させる時間には「Excel の日付の書式」で指定します(^-^)

Wait の有効期間中も、印刷、再計算などのバックグラウンド処理は続行されます。

指定した日時まで処理を止める

まずは基本的な使い方から、Waitメソッドは指定した時間まで処理を止めることが出来ます(^-^)
下記のコードは午前10時まで処理を止めることが出来ます(^^)

指定した時間分止める

Waitメソッドは、指定された時刻まで停止するので、Now関数で現在の時刻を取得して、取得した現在の時刻にTimeValue関数で指定した値を加算することで、停止する時刻を指定することが可能になるという理屈になります(^^)/指定した時間分止めるのは上記でもお話ししましたが、sleep関数と同じような使い方とイメージしてください(^^♪

下記のコードは3秒間処理を止めるコードです(^^)/

Sleep関数とwaitメソッドの違い

さてSleep関数とWaitメソッドは何が違うのか、実行時の精度的にはどちらとも大きな差はありません。

私がそれとなく頭で使い分けているのが

  • 何秒待つなどの処理はsleep関数
  • この時間になったら処理を動かすなどを指定する時はWaitメソッド

つまり私はWaitメソッドはほぼ使わないということです(笑)

Sleep関数APIなので、宣言などの手間はかかりますが、ミリ秒単位で時間を指定できます、Waitメソッドでも秒単位(ミリ秒単位でも可)でも時間を指定できますがsleepのほうが手軽な感じがします(笑)

ファイルやコードの利用、WEBサイトの利用について

サンプルコードなどは当サイトの免責事項をよくお読みになってからお使いください。

Sponsored Link

 

特別企画!IT企業の実情をIT企業の社長に聞いてみた!

独学者が多いVBAプログラマー「せっかくプログラム言語を覚えたし、IT企業に転職しようかな?でも、IT企業って良いイメージ聞かないし実際はどうなんだ?」という疑問にIT企業の社長に直に聞いてみました!!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です