Word のスタイルをマクロ記録する

 『エンジニアのためのWord再入門講座』を読み進めている.スタイルの扱いが重要であることは分かった.惜しいのは,VBA のオブジェクトからの視点がないことである.筆者の主観ではオブジェクトの視点があると理解が早まる気がしている.完全に自分のための備忘録である.

「スタイル」ウィンドウを開く

日本語版

 Alt, Ctrl, Shift, s キーを同時に押下すると下図のようにスタイルウィンドウが出現する.上から順にクリックしたマクロ記録が下記コードである.Style オブジェクトは Styles コレクションにスタイル名を指定して取得しているようだ.

Word のスタイル
Word のスタイル

英語版

 Microsoft 365 を英語版で使う方法についてはMicrosoft 365 英語版を使うを参考にされたい.

 日本語版とはアイコンが少々異なる点に注意が必要である.

Styles of Word
Styles of Word

「スタイルの管理」ダイアログ

 実際のスタイルは数え切れないほどの種類がある.すべてを一覧できるのは「スタイルの管理」ダイアログである.下図のように Microsoft 365 環境では A の文字にチェックが付いた記号のボタンをクリックすることで「スタイルの管理」ダイアログが開く.

「スタイルの管理」ダイアログを開く
「スタイルの管理」ダイアログを開く

編集

「スタイルの管理」「編集」
「スタイルの管理」「編集」
Manage Styles, Edit
Manage Styles, Edit

推奨

「スタイルの管理」「推奨」
「スタイルの管理」「推奨」

 英語版だと下図のとおりである.

Manage Styles, Recommend
Manage Styles, Recommend

制限

「スタイルの管理」「制限」
「スタイルの管理」「制限」
Manage Styles, Restrict
Manage Styles, Restrict

オブジェクトブラウザー

 オブジェクトを調べるにはオブジェクトブラウザーを使うのが王道である.

Styles コレクション

 Styles コレクションはドキュメントの文書内の組み込みスタイルとユーザー定義スタイルを示す.公式の解説はこちらになる.

Member   Return
Add(Name As String, [Type]) Function Style
Application Property Application
Count Property Long
Creator Property Long
Item(Index) Function Style
Parent Property Object

Style オブジェクト

 Style オブジェクトは 1 つの組み込みスタイルまたはユーザー定義スタイルを示す.公式の解説はこちら

Member   Return
Application Property Application
AutomaticallyUpdate Property Boolean
BaseStyle Property Variant
Borders Property Borders
BuiltIn Property Boolean
Creator Property Long
Delete() Sub  
Description Property String
Font Property Font
Frame Property Frame
InUse Property Boolean
LanguageID Property WdLanguageID
LanguageIDFarEast Property WdLanguageID
Linked Property Boolean
LinkStyle Property Variant
LinkToListTemplate(ListTemplate As ListTemplate, [ListLevelNumber]) Sub  
ListLevelNumber Property Long
ListTemplate Property ListTemplate
Locked Property Boolean
NameLocal Property String
NextParagraphStyle Property Variant
NoProofing Property Long
NoSpaceBetweenParagraphsOfSameStyle Property Boolean
ParagraphFormat Property ParagraphFormat
Parent Property Object
Priority Property String
QuickStyle Property Boolean
Shading Property Shading
Table Property TableStyle
Type Property WdStyleType
UnhideWhenUsed Property Boolean
Visibility Property Boolean

Style の Type 列挙型

 Word のスタイルには 5 種類あると解説されている(公式では 4 種類)が,オブジェクトブラウザーで確認すると実際には 6 種類ある.下表はそれぞれ段落スタイル,文字スタイル,表スタイル,リストスタイル,(段落限定スタイル?),リンクスタイルである.

Member ENUM Value
WdStyleType wdStyleTypeParagraph 1
  wdStyleTypeCharacter 2
  wdStyleTypeTable 3
  wdStyleTypeList 4
  wdStyleTypeParagraphOnly 5
  wdStyleTypeLinked 6

スタイル名をすべて取得する

 標準モジュールに下記コードを記述して実行すると,結果としてドキュメントにスタイルの種類 (WdStyleType), 優先度,スタイル名が列挙される.pre タグで囲うと & の文字が & と表記される.各自で読み替えていただきたい.

Word のオブジェクトモデル

 Word では Document オブジェクトParagraphs コレクションインデックスを指定して Paragraph オブジェクトを取得する.下記コード 9 行目では Paragraphs コレクションAdd メソッドを適用している.これはユーザーインターフェースで「Enter キーを押下して改行する」操作に該当する.

 さらに Paragraph オブジェクトの Range プロパティを指定して Range オブジェクトを取得し,Range オブジェクトの Text プロパティを指定して実際のテキストを設定する.

結果

 373 種類のスタイルが列挙される.Style.Priority が 100 に設定されているスタイルは最初は見えていないらしいことが分かる.この Priority プロパティは「優先度」と訳されているようである.このあたりの情報は公式には存在しないようだ.

 新規ドキュメントを作成した時点では本文 (Body Text) に該当するスタイルの Priority プロパティは 100 に設定されており,デフォルトで表示されていない.

 日本語版の結果と英語版の結果は順序が一致しない.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください