Home » ワードマクロ・Word VBAの使い方 » スタイル » 見出しの段落だけを残すWordマクロ

見出しの段落だけを残すWordマクロ

対象:Word2007, Word2010, Word2013, Windows版Word2016

Wordでアウトライン機能を使ったりして長めの文書を作成していると、標準スタイルの段落を削除して、見出しスタイルの段落だけにしたいと感じることがあります。

このサイト・インストラクターのネタ帳のアクセスログを眺めていても、
「word vba 本文の削除」
「word vba 見出し以外 削除」
といった検索キーワードでアクセスがあります。

そんなWordマクロをご紹介しておきます。

[スポンサードリンク]

標準スタイルの段落を削除して見出しだけにするサンプルマクロ

以下のマクロを実行すると、アクティブな文書から標準スタイルの段落が削除され、見出しスタイルの段落だけになります。

Sub 標準スタイルの段落を削除する()
 Dim i As Long

 With ActiveDocument.Paragraphs
 For i = .Count To 1 Step -1
  If .Item(i).Style.NameLocal = "標準" Then
   .Item(i).Range.Delete
  End If
 Next i
 End With
End Sub

サンプルマクロの解説

削除系のマクロですから、増分値を「-1」として、最後の段落から前に向かってFor~Nextループを回して、
  With ActiveDocument.Paragraphs
  For i = .Count To 1 Step -1

スタイル名が「標準」だったときに、その段落を削除しています。
   If .Item(i).Style.NameLocal = "標準" Then
    .Item(i).Range.Delete

段落を表すParagraphオブジェクトには、削除に使えそうなDeleteやRemoveといった名前のメソッドが見当たりませんので、ParagraphオブジェクトのRangeプロパティでRangeオブジェクトを取得して、RangeオブジェクトのDeleteメソッドで削除を行っています。

関連語句
Visual Basic for Applications

[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » スタイル » 見出しの段落だけを残すWordマクロ

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

.