Office関連

選択したセルに連続行番号を振るWordマクロ

Wordでマニュアルを作成するとき等、表の中で連番を振りたいときがよくあります。
そんなときは大抵「表に連続番号を振りたい」に書かれているような、段落番号を利用するのですが、個人的には“段落番号”はいまいち使い勝手がよくありません。

そこで、段落番号機能を使いやすくし、“表中の選択セルに連番を振るためのマクロ”を作成することにしました。

Option Explicit

Public Sub Sample()
  AddTableRowNumber wdListNumberStyleIroha, "(", ")", 5, True
End Sub

Public Sub AddTableRowNumber(Optional ByVal Style As Word.WdListNumberStyle = wdListNumberStyleArabic, _
                             Optional ByVal Prefix = "", _
                             Optional ByVal Suffix = ".", _
                             Optional ByVal StartNo As Long = 1, _
                             Optional ByVal NumToText As Boolean = True)
'表に行番号を振るWordマクロ
  Dim ltmp As Word.ListTemplate
  
  If Selection.Tables.Count > 0 Then
    Set ltmp = Application.ListGalleries(wdNumberGallery).ListTemplates(1)
    With ltmp.ListLevels(1)
      .NumberFormat = Prefix & "%1" & Suffix
      .TrailingCharacter = wdTrailingNone
      .NumberStyle = Style
      .StartAt = StartNo
    End With
    With Selection.Range
      .ListFormat.ApplyListTemplateWithLevel ListTemplate:=ltmp
      If NumToText = True Then .ListFormat.ConvertNumbersToText '段落番号を文字列に変換
    End With
  End If
End Sub

セルを選択した状態で、上記コードを実行すると、下図のように指定した文字(「(」「)」)で囲まれた連番が自動的に振られます(段落番号スタイルや開始番号も指定可)。

WordVBA_AddTableRowNumber_01

段落番号を振るだけの単純な仕組みですが、最後にConvertNumbersToTextメソッドを入れてあるのがポイントです。

このメソッドによって段落番号が普通の文字列になり、文字装飾等で扱いやすくなります。

あとは、よく使うスタイルごとにプロシージャを分けて、キーに割り当てれば作業終了です。

関連Webページ

Microsoft Edgeの「お気に入り」編集を楽にするバッチファイル前のページ

パスワード付のPDFファイルを作成するExcelマクロ次のページ

関連記事

  1. アイコン一覧

    Office 2013 アイコン一覧(J)

    ・Office 2013 アイコン一覧 NUM…

  2. Office関連

    日経ソフトウエア 2014年 10月号 「VBAでExcelを業務アプリ化」

    購読している雑誌、日経ソフトウエア 2014年 10月号に「イベントプ…

  3. Office アドイン

    [Office用アプリ]開発入門の記事を書かせていただきました。

    日経ソフトウエア 2014年3月号から連載の「Office用アプリ開発…

  4. Office関連

    Office クリップボードをマクロで操作する(MSAA)

    MSDNフォーラムに質問がありましたが、Office クリップボードを…

  5. Office関連

    「IEを自在に操る Excel VBAプログラミング入門」レビュー

    ※ 下記レビューはあくまでも個人的な感想です。2013年9月2…

  6. Office関連

    ブラウザで簡単にOfficeドキュメントを確認できる「Office Web ビューアー」

    @seinoro さんのツイート(下記)で知ったサービス「View O…

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

Time limit is exhausted. Please reload CAPTCHA.

Translate

最近の記事

アーカイブ

PAGE TOP