Home » ワードマクロ・Word VBAの使い方 » 段落・パラグラフ » 見出し1の文字列を取得するWordマクロ

見出し1の文字列を取得するWordマクロ

対象:Word2003, Word2007, Word2010

税理士でMicrosoft MVP for Excelの井ノ上陽一さんが
Wordの見出しのみを抽出するのはなかなかできずマクロでやろうと思いつつも...
といったツイートをしてらっしゃいます。

詳細はわかませんが、とりあえず、VBA(Visual Basic for Applications)で、ちょっとしたWordのマクロを作成してみました。

[スポンサードリンク]

見出し1の文字列だけを取得するサンプルマクロ

「見出し 1」スタイルの設定されている段落の文字列だけを取得するマクロです。


Sub 見出し1の文字列を取得する()
 Dim p As Paragraph
 
 For Each p In ActiveDocument.Paragraphs
  If p.Style = "見出し 1" Then
   Debug.Print Replace(p.Range.Text, vbCr, "")
  End If
 Next p
End Sub

上記のマクロを実行すると、アクティブな文書で、「見出し 1」スタイルの設定されている段落の文字列がイミディエイトウィンドウに出力されます。

サンプルマクロのオブジェクト式

Excelマクロをお使いの方だと、ParagraphオブジェクトにTextプロパティがあると考えてしまうかもしれませんが、そうではありません。

ParagraphオブジェクトのRangeプロパティを使って、Rangeオブジェクトを取得して、RangeオブジェクトのTextプロパティを取得する必要があります。

もちろん、このRangeプロパティ・Rangeオブジェクトは、ExcelのRangeプロパティ・Rangeオブジェクトとはまったく関係ありません。たまたまExcelとWordで同じ名前がつけられているだけです。

[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » 段落・パラグラフ » 見出し1の文字列を取得するWordマクロ

TrackBack:1

TrackBack URL
見出しの段落だけを残すWordマクロ from インストラクターのネタ帳
アクティブな文書で標準スタイルの段落を削除して見出しだけにするWordマクロをご紹介しています。
[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » 段落・パラグラフ » 見出し1の文字列を取得するWordマクロ

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

検索

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

.