Home » ワードマクロ・Word VBAの使い方 » スタイル » 見出し1スタイルのページ番号と偶奇判定結果を出力するWordマクロ

見出し1スタイルのページ番号と偶奇判定結果を出力するWordマクロ

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

200ページほどの、複数セクションに分かれているWord文書を作成しています。

その文書では各セクションの最初に、段落スタイル「見出し1」を設定した段落があり、そのページが奇数ページなのか偶数ページなのかがを確認する必要がありました。

そのためのWordマクロを作りました。

見出し1スタイルのページ番号と偶奇判定結果を出力するサンプルマクロ

「見出し1」スタイルの設定されている段落のあるページ番号と、そのページ番号が偶数なのか奇数なのかを一覧として出力する以下のWordマクロです。

Sub 見出し1の存在するページ番号と偶奇判定結果を出力する()
 Dim par As Paragraph
 For Each par In ActiveDocument.Paragraphs
  With par
  
   If .Style.NameLocal = "見出し 1" Then
    Dim nombre As Long
    nombre = .Range.Information(wdActiveEndPageNumber)
    
    Dim parity As String
    parity = "奇"
    If nombre Mod 2 = 0 Then parity = "偶"
    
    Debug.Print _
      parity; nombre; vbTab; _
      .Range.Text;
   End If
  
  End With
 Next
End Sub

実行すると、下図のような出力が行われます。

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

拙著『Excel VBAユーザーのためのWord VBA入門(1): Document・Range・Selectionの基本編』の、[6-2. ParagraphsからParagraphを取得する]でお解説している、アクティブ文書の全段落に対するFor Each~Nextループで、

Dim par As Paragraph
For Each par In ActiveDocument.Paragraphs

段落スタイル名が「見出し 1」だったときに、

 With par  
  If .Style.NameLocal = "見出し 1" Then

ページ番号を変数nombreに代入して、

   Dim nombre As Long
   nombre = .Range.Information(wdActiveEndPageNumber)

ページ番号が奇数の場合に変数parityに文字列「奇」、偶数であれば「偶」を代入しておいて、

   Dim parity As String
   parity = "奇"
   If nombre Mod 2 = 0 Then parity = "偶"


「奇」または「偶」の文字、ページ番号、段落文字列を出力しています。

   Debug.Print _
     parity; nombre; vbTab; _
     .Range.Text;

最終更新日時:2024-04-22 20:16

[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » スタイル » 見出し1スタイルのページ番号と偶奇判定結果を出力するWordマクロ

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

.