【コード】「段落番号」のある段落のアウトラインレベルを自動で設定する

ようやく、アウトラインレベルに関するマクロの登場です。

ここまでの経緯は、「見出しマップの目次 」をご覧ください。

これから数回にわたってマクロの例を示します。

最初は、特許明細書にありがちな例を示します。

このマクロでできること

特許明細書における段落番号(【0001】)など、墨付きかっこで始まるの段落のアウトラインレベルをレベル1に設定します。

アウトラインレベル1になるので、見出しマップを表示したときに項目として表示されます。

番号をクリックすれば、その段落番号にジャンプができますよ。

見出しマップ例

(特開2004-334821の例。たまたまネットで見つけただけで、深い意味はございません。)

マクロの解説

以下の8~11行の処理を、すべての段落で実施します(7行と11行のFor-Nextの設定)。

8行 段落の先頭の「スペース(全角・半角ともに)」と、段落中の全て「タブ」を削除して、myStrの変数に代入します。

→段落先頭に、タブやスペースが入ることがあると思いますが、それらの影響をうけずに、先頭文字の判定をするための前処理です。

9行 myStrの先頭に、「【」、その次に全角数字(0~9)が4回あり、「】」があるかを確認します。

Like演算子 を用います。パターンは、”【[0-9][0-9][0-9][0-9]】*” です。

10行 上記9行の判定がTrue(はい)であれば、その段落のアウトラインレベルを1に設定します。

マクロ


Sub JPara()

  '日本語段落番号設定
  Dim myPara As Paragraph
  Dim myStr As String

  For Each myPara In ActiveDocument.Paragraphs
    myStr = LTrim(Replace(myPara.Range.Text, vbTab, ""))
    If myStr Like "【[0-9][0-9][0-9][0-9]】*" Then
      myPara.Format.OutlineLevel = wdOutlineLevel1
    End If
  Next

End Sub

トップへ戻る