Wordで改行を置換・削除する方法!一括処理も!

Wordで改行を置換・削除する方法!一括処理も!
Wordで改行を消したい、置き換えたいときはないでしょうか。

けど、そんな中で悩むことは、

・改行が入っていて、1行にまとめられない
・空行が大量にあって、体裁が整わない
・1件ずつ消していられないので、まとめて処理したい

ですね。

そんなときに使えるのが、検索と置換とVBAでの一括処理です。

Wordの改行には2種類あり、それぞれ置換する記号が違うのがポイントです。

この記事では、手作業の置換からVBAでまとめて処理する方法まで、サンプルコードと対応例つきでまとめます。

今回はそんなお悩みを解決する、

・Wordの改行の種類(段落記号と手動改行)
・検索と置換で使う記号の一覧
・改行を削除する手順
・改行を置換する手順(対応例つき)
・VBAで一括処理する方法(サンプルコード)
・うまくいかないときの対処法

についてまとめます!

完成イメージ

空行だらけの案内文も、検索と置換(またはVBA)で一瞬で整います。

置換前 置換後
お知らせ

平素よりお世話になっております。

お知らせ
平素よりお世話になっております。
1行目
2行目
3行目
1行目2行目3行目
改行記号(↵)を表示した置換前の文書

置換前は、行ごとに段落記号(↵)が入っています。

改行を削除して1段落にまとまった文書

「すべて置換」を実行すると、すべての改行が削除されて1つの段落にまとまります。

POINT
・段落記号(Enter)は ^p、手動改行(Shift+Enter)は ^l で置換します
・空行の削除は ^p^p → ^p が最短です
・VBAなら「複数文書」もまとめて処理できます
・検索と置換は Ctrl + H で開きます

Wordの改行は2種類ある

Wordの改行は、見た目が似ていても中身が違います。

種類 入力方法 記号 置換コード
段落記号(段落改行) Enter ↵ ^p
手動改行(改行) Shift + Enter ↓ ^l(小文字のL)
ページ区切り Ctrl + Enter —— ^m
段区切り レイアウトから挿入 —— ^n

見分け方は簡単です。
ホーム タブの「編集記号の表示/非表示」ボタン(Ctrl + Shift + 8)

を押すと、記号が表示されます。
※デフォルトですと編集記号は表示されている状態ですので、ボタンを押しても反応がない場合があります。

表示 意味
↵ 段落の終わり(Enter)
↓ 同じ段落内の改行(Shift+Enter)
・ 半角スペース
→ タブ

検索と置換で使える記号の一覧

Wordの置換では、記号そのものではなく「^(キャレット)+英字」で指定します。

コード 意味 主な使い道
^p 段落記号(↵) 段落をまとめる・空行を消す
^l 手動改行(↓) 行内の改行を消す
^t タブ タブを空白に置換
^m ページ区切り ページ区切りを削除
^w 空白(スペース・タブ) 余分な空白を削除
^# 任意の数字 数字だけ検索
^$ 任意の英字 英字だけ検索
注意
・^l は「^(キャレット)+小文字のエル」です。数字の1や大文字のIと間違えやすいので注意してください
・ワイルドカードを使用するにチェックが入っていると、^p などが使えません。チェックを外してください

ショートカット一覧

操作 ショートカット
検索と置換(置換タブ) Ctrl + H
検索(検索タブ) Ctrl + F
記号(↵)の表示切替 Ctrl + Shift + 8
全選択 Ctrl + A
手動改行 Shift + Enter
ページ区切り Ctrl + Enter
VBAエディター Alt + F11

サンプル文章(コピペ用)

動作を試したいときは、次の文章をWordに貼り付けてください。

—

お知らせ平素より大変お世話になっております。

このたび、弊社サービスのメンテナンスを下記のとおり実施いたします。

ご利用のお客様にはご不便をおかけしますが、ご理解のほどよろしくお願いいたします。

■実施日時2026年11月10日(火)2:00〜5:00

—

使い方①:改行を削除する(1行にまとめる)

手順

  1. 対象の文書を開き、Ctrl + H で「検索と置換」を開きます
  2. 検索する文字列に ^p と入力します
  3. 置換後の文字列は空欄のままにします
  4. 「すべて置換」をクリックします

検索と置換ダイアログ(検索する文字列に ^p、置換後は空欄)
これで段落がつながり、1行にまとまります。
改行を削除して1段落にまとまった文書

ダイアログでは、検索する文字列に ^p、置換後の文字列は空欄にします。1回の置換で終わるのでカンタンですね。

手動改行(↓)を消すとき

検索する文字列を ^l に変えるだけです。

消したいもの 検索する文字列 置換後
段落記号(↵) ^p 空欄
手動改行(↓) ^l 空欄
両方まとめて ^p と ^l を2回に分けて実行 空欄

Wordの検索と置換は1回に1種類しか指定できません。「↵と↓の両方」を消すときは、2回実行するかVBAを使います。

使い方②:改行を置換する(対応例)

「消す」のではなく「別の文字に変える」場合は、置換後の文字列を入力します。

やりたいこと 検索する文字列 置換後の文字列
改行を読点にする ^p 、
改行をスペースにする ^p (半角スペース)
改行を句点+改行にする ^p 。^p
手動改行を段落記号にする ^l ^p
段落記号を手動改行にする ^p ^l
空行を削除する ^p^p ^p
タブをスペースにする ^t (半角スペース)
余分な空白を削除する ^w 空欄

^p^p → ^p の場合は、

空行がある文章を

置換処理によって

このように空行をなくしてすっきりさせることができます。

タカヒロ
タカヒロ
^p^p → ^l にして手動改行にしてもよさげですね。

空行が消えないときは「繰り返す」

^p^p → ^p は、2行分の空行を1行にする動きです。

3行以上続く空行は、「すべて置換」を繰り返し押すか、VBAのループで処理します。

空行の数 「すべて置換」を押す回数
1行 1回
2行 2回
3行以上 消えるまで繰り返す(VBAがおすすめ)

使い方③:表の中・テキストボックスの中を置換する

表やテキストボックスの中は、通常の置換が届かない場合があります。

場所 対処
表の中 表全体を選択してから置換する(セル内の改行は ^p で消せないことがある)
テキストボックス ボックス内をクリックしてから置換する
ヘッダー・フッター ヘッダーをダブルクリックして編集状態にする
脚注 本文と別扱い。VBAで対象を切り替える

タカヒロ

タカヒロ
Wordの改行は「↵」と「↓」の2種類あるので、まずは記号を表示して確認するのが近道です。
Ctrl+Shift+8 を押すだけで見えるので、消す前に一度チェックしてみてください。

一括処理①:VBAで改行をまとめて削除する

文書全体の改行をまとめて消したいときは、VBAが確実です。

Sub 改行をすべて削除して1行にまとめる()
    Dim doc As Document
    Dim buf As String

    Set doc = ActiveDocument
    buf = doc.Content.Text

    ' 手動改行(↓)を削除
    buf = Replace(buf, Chr(11), "")
    ' 段落記号を削除
    buf = Replace(buf, vbCr, "")

    doc.Content.Text = buf
    MsgBox "改行をすべて削除しました"
End Sub
コード 意味
Chr(11) 手動改行(↓)
vbCr 段落記号(↵)
Content.Text 文書全体の文字列

一括処理②:VBAで空行をすべて削除する

^p^p → ^p を、空行がなくなるまで繰り返します。

Sub 空行をすべて削除する()
    Dim doc As Document
    Dim buf As String
    Dim cnt As Long

    Set doc = ActiveDocument
    buf = doc.Content.Text
    cnt = 0

    ' 空行(連続する段落記号)がなくなるまで繰り返す
    Do While InStr(buf, vbCr & vbCr) > 0
        buf = Replace(buf, vbCr & vbCr, vbCr)
        cnt = cnt + 1
    Loop

    doc.Content.Text = buf
    MsgBox cnt & "回の置換で空行を削除しました"
End Sub

一括処理③:フォルダ内の全ファイルをまとめて処理する

「複数のWordファイルを一括で」という場合は、フォルダを指定してループします。

Sub フォルダ内の全文書の空行を削除する()
    Dim fso As Object, fol As Object, f As Object
    Dim doc As Document
    Dim buf As String
    Dim folderPath As String

    folderPath = "C:\作業\一括処理"          ' 対象フォルダを指定

    Set fso = CreateObject("Scripting.FileSystemObject")
    Set fol = fso.GetFolder(folderPath)

    For Each f In fol.Files
        If LCase(fso.GetExtensionName(f.Name)) = "docx" Then
            Set doc = Documents.Open(f.Path)

            buf = doc.Content.Text
            Do While InStr(buf, vbCr & vbCr) > 0
                buf = Replace(buf, vbCr & vbCr, vbCr)
            Loop
            doc.Content.Text = buf

            doc.Save
            doc.Close
        End If
    Next f

    MsgBox "完了しました"
End Sub
ポイント 内容
拡張子の判定 docx のみ対象(doc・docm を除く)
上書き保存 元に戻せないので事前にバックアップを取る
処理できないファイル パスワード保護・読み取り専用はエラーになるので除外する
実測メモ:マクロで ^p を「空」に置換しても消えない
VBAのFind/Replaceで段落記号を空文字に置換しても、実際には削除されないことを実機で確認しました(置換が成功したという戻り値でも本文は変わりません)。

確実に消すなら、この記事のコードのように「文書のテキストを置き換える」方式がおすすめです。

うまくいかないときの対処法(トラブルシュート)

症状 原因 対処
「該当なし」と出る 記号の指定ミス(^l と ^1、^p と ^P など) ^p・^l(小文字)を確認する
何も置換されない 「ワイルドカードを使用する」がON チェックを外す
一部だけ置換される 範囲選択が残っている Ctrl + A で全選択するか、選択を解除する
表の中が置換されない 表の中は別扱いになる場合がある 表を選択してから実行/VBAで処理する
空行が残る 空行が3行以上ある 「すべて置換」を繰り返す/VBAのループを使う
レイアウトが崩れた 段落がつながって書式が変わった Ctrl + Z で戻し、改行を「、」等に置換する
元に戻せない 上書き保存してしまった 「バージョン履歴」から復元する

よくある間違い

間違い 起きること 正しいやり方
^l を ^1(数字の1)と入力 該当なしになる 小文字のエル(^l)を使う
段落記号と手動改行を同じ記号で消そうとする 片方しか消えない ^p と ^l を2回に分けて実行する
「すべて置換」1回で空行が全部消えると思う 3行以上の空行が残る 繰り返す/VBAのループを使う
改行を消して書式も消えた 段落がつながりスタイルが変わる 事前にバックアップを取る
ヘッダー・フッターを忘れる そこだけ改行が残る ヘッダーを編集状態にしてから置換する

さいごに

今回は、Wordで改行を置換・削除する方法をまとめました。

・Wordの改行の種類(段落記号と手動改行)
・検索と置換で使う記号の一覧
・改行を削除する手順
・改行を置換する手順(対応例つき)
・VBAで一括処理する方法(サンプルコード)
・うまくいかないときの対処法
1. Enter は ^p、Shift+Enter は ^l(小文字のL)
2. 消すときは置換後を空欄、変えるときは置換後に文字を入力
3. 空行は ^p^p → ^p。3行以上は繰り返すかVBA
4. VBAなら複数ファイルも一括処理できる
5. 上書き前にバックアップを必ず取る

1件ずつ改行を消していた作業が、置換1回で終わります。

大量の文書を扱うなら、VBAのフォルダ一括処理まで覚えておくと強い味方になりますね。

まずは手元の文書で、Ctrl + H から試してみてください。

エク短ツールズ
エク短ツールズ(ツール一覧)
Excelの変換・比較・PDF・バーコード作成まで、ブラウザだけで使える無料ツールを公開しています。



この記事の関連キーワード

こちらの記事の関連キーワード一覧です。クリックするとキーワードに関連する記事一覧が閲覧できます。






コメントを残す

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

CAPTCHA ImageChange Image