Wordの「スタイル」をVBAで操作する(2) (Word)

「標準」スタイルのフォントを変える

前回

akashi-keirin.hatenablog.com

のつづき。

ウチの環境では、Document.Styles(194)で「標準」スタイルにアクセスできるのだった。

Style.Fontオブジェクト

MSDN Dev Centerの「Style Members (Word)」によると、フォントの設定はFontプロパティにアクセスしてFontオブジェクトを取得して操作するっぽい。

で、Fontオブジェクトのページ(MSDN Dev Centerの「Font Members (Word)」)を見てみると、フォント名を設定/取得するっぽいものとして

  • Name
  • NameAscii
  • NameBi
  • NameFarEast
  • NameOther

この5種があった。

詳しくはリンク先の記載内容をお読みいただくとして、基本的にはNameプロパティ(英数字用)、NameFarEastプロパティ(日本語用)を設定すればいいっぽい。

イミディエイト・ウィンドウで確認する

イミディエイト・ウィンドウに、

?thisdocument.Styles(194).Font.NameFarEast

および、

?thisdocument.Styles(194).Font.Name

と入力して確認してみる。

f:id:akashi_keirin:20180513082235j:plain

この通り、NameFarEastの方は「MS 明朝」、Nameの方は「Century」が返った。

Word本体の方に戻って、スタイル ギャラリーで確認してみると、

f:id:akashi_keirin:20180513082244j:plain

ぴったり一致している。

つまり、Document.Style.Font.NameFarEastで日本語用フォント、Document.Style.Font.Nameで英数字用フォントを設定することができるということだ。

「標準」スタイルのフォント設定をVBAで変えてみる

イミディエイト・ウィンドウに

thisdocument.Styles(194).Font.NameFarEast = "MS ゴシック"

と入力して[Enter]してみる。

f:id:akashi_keirin:20180513082255j:plain

f:id:akashi_keirin:20180513082304j:plain

意図どおりの結果になっている。

これで面倒だった作業が1クリックでできるめどが立った。

akashi-keirin.hatenablog.com