Home » ワードマクロ・Word VBAの使い方 » スタイル » Word VBAでテーブルスタイルの名前一覧を

Word VBAでテーブルスタイルの名前一覧を

動作検証バージョン:64bit Windows 10 Pro + 32bit Word(バージョン2105 ビルド14026.20246 Microsoft Store

Word テーブルデザイン

「vba TableStyleName 一覧」
といった検索をきっかけにして、テーブルスタイル名の一覧を出力するExcel VBAのコードをご紹介しています。

検索キーワード
「vba TableStyleName 一覧」
だけでは、どのアプリケーションソフトについてなのかがわかりませんから、Word VBAのコードを探していた可能性も否定できません。

[スポンサードリンク]

表のスタイル名一覧を出力するサンプルマクロ

以下のSubプロシージャを実行すると、アクティブなWord文書の末尾に、表のスタイル名一覧が出力されます。

Sub 表のスタイル名一覧を作成する()
 With ActiveDocument
  Dim sty As Style
  For Each sty In .Styles
   If sty.Type = wdStyleTypeTable Then
    .Range.InsertAfter Text:=sty.NameLocal & vbCr
   End If
  Next
 End With
End Sub

Wordの表スタイルは大量に存在しているため、イミディエイトウィンドウの上限を超えてしまうため、アクティブ文書へ出力する仕様としました。

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

DocumentオブジェクトのStylesプロパティで取得した、全スタイルを表すStylesコレクションに対してFor Each~Nextループを回して、
  With ActiveDocument
   Dim sty As Style
   For Each sty In .Styles

表スタイルだったときに、
   If sty.Type = wdStyleTypeTable Then

Word.Style.Type

Word.WdStyleType.wdStyleTypeTable

スタイルのNameLocalプロパティで取得した文字列と

Word.Style.NameLocal

段落記号を、アクティブ文書の末尾に出力しています。
    .Range.InsertAfter Text:=sty.NameLocal & vbCr

代入文の左辺で使っているRangeは、
    .Range.InsertAfter Text:=sty.NameLocal & vbCr

拙著『Excel VBAユーザーのためのWord VBA入門(1)』の、「3-2. Document.RangeメソッドでRangeを取得する」でも解説している、Documentオブジェクトに用意されているRangeメソッドです。Document.Rangeメソッドを引数なしで実行して本文全体の文字列範囲を表すRangeオブジェクトを取得し、Rangeオブジェクトに用意されているInsertAfterメソッドを使って、

Word.Range.InsertAfter

本文の末尾に文字列の追加を行っています。

[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » スタイル » Word VBAでテーブルスタイルの名前一覧を

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

.