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

Word VBAでのDo…Loopステートメント完全ガイド:初心者でもわかる使い方と活用法

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

Word VBAを使って繰り返し処理を行いたいけれど、どこから始めればよいのか分からない…そんなあなたにぴったりのガイドです。今回は、Word VBAでの「Do…Loop」ステートメントの基本から応用まで、わかりやすく解説します。これを読めば、あなたも繰り返し処理の達人になれること間違いなしです!

スポンサーリンク

Do…Loopステートメントとは?

Wordのイメージ

Wordのイメージ

Word VBAにおけるDo…Loopステートメントは、指定した条件が満たされるまで、または満たされる間、処理を繰り返すための命令です。例えば、文書内の特定の文字列を検索して置換する処理を繰り返す場合などに使用します。

基本構文

Do…Loopステートメントには、主に以下の2種類の構文があります。

ここがポイント!

  • Do While 条件式
    条件式がTrueの間、処理を繰り返します。
  • Do Until 条件式
    条件式がTrueになるまで、処理を繰り返します。

実行タイミングの違い

ここがポイント!

  • Do While 条件式 Loop
    ループの最初で条件をチェックし、条件が満たされない場合は一度も処理が実行されません。
  • Do Loop While 条件式
    ループの最後で条件をチェックし、条件が満たされない場合でも一度は処理が実行されます。

実際の使用例

文書内の特定の文字列を検索して置換する

Word文書内で「旧会社名」を「新会社名」に置換する処理を繰り返す例です。

Sub ReplaceCompanyName()
Dim findText As String
Dim replaceText As String
findText = "旧会社名"
replaceText = "新会社名"

' 置換処理の繰り返し
Do While Selection.Find.Execute(FindText:=findText)
Selection.TypeText Text:=replaceText
Loop
End Sub

このコードでは、Selection.Find.Executeメソッドを使用して、文書内で「旧会社名」を検索し、見つかるたびに「新会社名」に置換しています。

ユーザーからの入力を繰り返し取得する

ユーザーから日付の入力を繰り返し取得し、正しい形式で入力されるまで処理を続ける例です。

Sub GetDateInput()
Dim userInput As String
userInput = ""

' 入力が正しい形式でない限り繰り返し
Do Until IsDate(userInput)
userInput = InputBox("日付を入力してください(例: 2025/06/26)")
If userInput = "" Then Exit Do ' キャンセル時は終了
Loop

If IsDate(userInput) Then
MsgBox "入力された日付は " & userInput & " です。"
Else
MsgBox "有効な日付が入力されませんでした。"
End If
End Sub

このコードでは、ユーザーが日付を正しい形式で入力するまで、InputBoxを使って繰り返し入力を求めています。

よくある質問や疑問

Q1: Do…LoopステートメントとFor…Nextステートメントの違いは何ですか?

Do…Loopステートメントは、条件が満たされるまで繰り返し処理を行うのに対し、For…Nextステートメントは、指定した回数だけ繰り返し処理を行います。条件によって使い分けることが重要です。

Q2: Do…Loopステートメントで無限ループを防ぐにはどうすればよいですか?

無限ループを防ぐためには、ループ内で条件が必ず変化するように処理を組み込み、適切な終了条件を設定することが必要です。また、Exit Doステートメントを使用して、特定の条件でループを抜けることもできます。

Q3: Do…Loopステートメントを使う際の注意点はありますか?

Do…Loopステートメントを使用する際は、ループ内で条件が必ず変化するようにし、無限ループに陥らないように注意してください。また、Exit Doステートメントを適切に使用して、必要なタイミングでループを終了させることが重要です。

まとめ

Word VBAのDo…Loopステートメントは、繰り返し処理を行う際に非常に便利な構文です。基本的な使い方をマスターすれば、文書の自動化やユーザー入力の取得など、さまざまな場面で活用できます。ぜひ、今回紹介したサンプルコードを参考に、実際に手を動かして試してみてください。

他にも疑問やお悩み事があればお気軽に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をコピーしました