Home » ワードマクロ・Word VBAの使い方 » 段落・パラグラフ » Word VBAで空白(空っぽ)の段落を削除する

Word VBAで空白(空っぽ)の段落を削除する

動作検証バージョン:Windows 11 Home + 64bit Word バージョン 2410(ビルド18028.20004クイック実行)ベータチャネル

「word vba 空白行 削除」
といった検索が、このサイト『インストラクターのネタ帳』で行われていました。

「空白行 削除」と表現されていますが、本当は「空白の行」ではなく、段落記号以外に文字列の存在しない空白(空っぽ)の段落を削除するWord VBAのコードを探していらしたのではないかと想像しています。

空白(空っぽ)の段落を削除するサンプルマクロ

以下のWordマクロを実行すると、アクティブ文書の空の段落が削除されます。

Sub 空の段落を削除する()
 With ActiveDocument
  Dim i As Long
  For i = .Paragraphs.Count To 1 Step -1
   With .Paragraphs(i).Range
    If .Characters.Count = 1 Then .Delete
   End With
  Next
 End With
End Sub

サンプルマクロで行っている処理

アクティブ文書の全段落の、最後から最初に向けてFor~Nextループを開始します。

With ActiveDocument
 Dim i As Long
 For i = .Paragraphs.Count To 1 Step -1
  With .Paragraphs(i).Range

拙著『Excel VBAユーザーのためのWord VBA入門(1)』の「1-3. Excel VBAユーザーがWord VBAで注意すべき点」でも触れているとおり、Word VBAでは削除を行う場合にはFor Each~Nextループでは上手く処理できないため、「Step -1」でFor~Nextループを回しています。

Paragraph.Range.Characters.Countで段落の文字数を調べ、

1文字の場合(段落記号しかない場合)に、Range.Deleteメソッドで削除を行っています。

  With .Paragraphs(i).Range
   If .Characters.Count = 1 Then .Delete

最終更新日時:2024-09-12 10:57

[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » 段落・パラグラフ » Word VBAで空白(空っぽ)の段落を削除する

「段落・パラグラフ」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.