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関連

    【2017年1月版】Microsoft Edgeを操作するVBAマクロ(DOM編)(2)

    昨日の記事で、Microsoft Edgeを操作するVBAコードを改め…

  2. Excel

    漢字かな交じり文をひらがなにするマクロ

    Yahoo!のテキスト解析Web API(ルビ振り)を使用して、漢字か…

  3. Office関連

    Office XP Developer Toolsでリボン対応のCOMアドインを作成する。

    「Visual Basic 6でリボン対応のアドインを作成する」ではV…

  4. Office関連

    メモ帳だけでOutlook用アドインを作ってみる。

    「SharpDevelopでExcel用COMアドインを作成する方法」…

  5. Office関連

    プロダクトIDを取得するWordマクロ

    下記質問用に書いたコードです。「バージョン情報」で表示されるプロダ…

  6. Office アドイン

    [Office用アプリ]RSS表示アプリを作成する。

    ※ この情報はOffice 2013 カスタマー プレビュー版を元にし…

コメント

  • コメント (0)

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

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

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP