当サイトの記事にはプロモーションが含まれています。

Word VBAでの処理待機方法:Sleep関数とWaitメソッドの使い方

パソコンパソコン・スマホ教室
スポンサーリンク

皆さん、こんにちは。今回は、WordのVBAマクロを作成する際に、処理を一時停止させる方法についてお話しします。例えば、「特定の処理を行った後、数秒間待ってから次の処理を開始したい」といったケースです。そんな時に役立つのが、Sleep関数Waitメソッドです。これらを上手に使いこなすことで、マクロの動作をより柔軟に制御できます。

スポンサーリンク

Sleep関数とは?

Wordのイメージ

Wordのイメージ

まず、Sleep関数についてご紹介します。これは、Windows APIの一部で、指定した時間だけプログラムの実行を中断することができます。時間はミリ秒(1秒の1000分の1)単位で指定します。例えば、5秒間中断させたい場合は、5000ミリ秒と指定します。

Sleep関数の使い方

VBAでSleep関数を使用するには、まずWindowsの「kernel32.dll」というライブラリからこの関数を呼び出す宣言を行う必要があります。以下のコードをモジュールの先頭に追加してください。

vba
#If VBA7 Then
' 64ビット版のExcelの場合
Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr)
#Else
' 32ビット版のExcelの場合
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
#End If

この宣言を行った後、以下のようにSleep関数を使用して処理を一時停止させることができます。

vba
Sub SampleMacro()
' 処理開始
MsgBox "処理を開始します。"

' 5秒間待機
Sleep 5000

' 処理再開
MsgBox "5秒経過しました。処理を再開します。"
End Sub

このマクロを実行すると、最初のメッセージボックスが表示された後、5秒間の待機を経て、次のメッセージボックスが表示されます。

Waitメソッドとは?

次に、Waitメソッドについてです。こちらは、VBAのApplicationオブジェクトに用意されているメソッドで、指定した時刻まで処理を中断することができます。ただし、WaitメソッドはExcelの機能であり、Wordでは直接使用することができません。そのため、Wordで同様の機能を実現するには、他の方法を検討する必要があります。

Waitメソッドの代替方法

Wordで処理を一時停止させる一般的な方法として、以下のようなループを使用する方法があります。

vba
Sub Wait(seconds As Single)
Dim endTime As Single
endTime = Timer + seconds
Do While Timer < endTime DoEvents ' 他のイベントを処理 Loop End Sub

このWaitプロシージャを使用して、特定の秒数だけ処理を待機させることができます。例えば、3秒待機させたい場合は、`Wait 3`と呼び出します。

よくある質問や疑問

Q1: Sleep関数とWaitメソッドの違いは何ですか?

A1: Sleep関数はWindows APIの機能で、指定した時間だけ処理を中断します。一方、WaitメソッドはVBAのApplicationオブジェクトに用意されているメソッドで、指定した時刻まで処理を中断します。ただし、WaitメソッドはExcelでのみ使用可能で、Wordでは直接使用できません。

Q2: Sleep関数を使用する際の注意点はありますか?

Sleep関数を使用すると、その間アプリケーション全体が応答しなくなる可能性があります。ユーザーが操作できなくなるため、長時間の待機を設定する際は注意が必要です。

まとめ

今回は、WordのVBAマクロで処理を一時停止させる方法として、Sleep関数とその代替手段についてご紹介しました。これらを活用することで、マクロの動作をより柔軟に制御することが可能となります。もし他にも疑問やお悩み事があれば、お気軽にLINEからお声掛けください。

この記事を書いた人
この記事を書いた人

企業の情報システム部門で10年以上、PC・アカウント・社内ネットワーク・Microsoft 365/Google Workspace運用を担当。年間数百件の問い合わせ対応(PC不調、メール送受信、Excel/Word資料、Teams会議、スマホ連携など)を通じて、初心者がつまずくポイントを「再現→原因切り分け→最短解決」の手順に落とし込んできました

現場や身近で実際に起きたトラブルをベースに、手順だけでなく「なぜそうなるか」「失敗しやすい落とし穴」「安全な設定(セキュリティ)」まで含めて解説します。

相談窓口(問い合わせ/LINE等)を設け、記事で解決しないケースも個別にサポートしていますので「パソコンが急に動かなくなった」「スマホの設定がわからない」などの悩みは一人で抱え込まず、お気軽にご相談ください。

【お問い合わせは下記URLから】
https://m32006400n.xsrv.jp/inquiry-form/

【公式LINEは下記URLから】
https://lin.ee/t8TDjcj

uri uriをフォローする
スポンサーリンク
よかったらシェアしてね! /
uri uriをフォローする

コメント

タイトルとURLをコピーしました