「vba TableStyleName 一覧」
といった検索をきっかけにして、テーブルスタイル名の一覧を出力するExcel VBAのコードをご紹介しています。
検索キーワード
「vba TableStyleName 一覧」
だけでは、どのアプリケーションソフトについてなのかがわかりませんから、Word VBAのコードを探していた可能性も否定できません。
表のスタイル名一覧を出力するサンプルマクロ
以下のSubプロシージャを実行すると、アクティブなWord文書の末尾に、表のスタイル名一覧が出力されます。
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
スタイルの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メソッドを使って、
本文の末尾に文字列の追加を行っています。
Home » ワードマクロ・Word VBAの使い方 » スタイル » Word VBAでテーブルスタイルの名前一覧を