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. Excel

    Google TTSで文字列を読み上げるマクロ

    2012/02/09 追記:関連記事・Google翻訳…

  2. Word

    GoogleとYahoo!で同時に翻訳するWordマクロ

    「Google翻訳で文字列を翻訳するマクロ」と「Yahoo!翻訳で文字…

  3. Office関連

    Visual Studio Community 2015でOffice開発する。

    「Microsoft、統合開発環境「Visual Studio 201…

  4. Office関連

    SkyDriveの同期フォルダーのパスを取得するWordマクロ

    無料で使える便利なクラウドストレージ「SkyDrive」にはローカルフ…

  5. Office関連

    VBAを学ぶときの参考資料

    知人から「Excelのマクロを勉強したいんだけど、どうやって勉強したら…

  6. Office関連

    PowerShellからNetOfficeを使ってExcelを操作する方法

    先日、Excel MVPの伊藤さんがPowerShellからExcel…

コメント

  • コメント (0)

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

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

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP