Wordでアウトライン機能を使ったりして長めの文書を作成していると、標準スタイルの段落を削除して、見出しスタイルの段落だけにしたいと感じることがあります。
このサイト・インストラクターのネタ帳のアクセスログを眺めていても、
「word vba 本文の削除」
「word vba 見出し以外 削除」
といった検索キーワードでアクセスがあります。
そんなWordマクロをご紹介しておきます。
標準スタイルの段落を削除して見出しだけにするサンプルマクロ
以下のマクロを実行すると、アクティブな文書から標準スタイルの段落が削除され、見出しスタイルの段落だけになります。
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メソッドで削除を行っています。
- Newer:セルを結合するGASスクリプト
- Older:配列数式を解除して値を代入するExcelマクロ
Home » ワードマクロ・Word VBAの使い方 » スタイル » 見出しの段落だけを残すWordマクロ