【Word VBA】標準スタイルの文字サイズや段落書式を以前の設定値にするWordマクロ

それにしても、このWordの不具合(と思います)なのですが、すぐに元に戻るのかなと思ってそのまま放置していたのですが、なかなか直らないですね。

今年になってから、Word 365の標準スタイルのフォントサイズが11ポイントになってしまい、さらに段落書式が変更されて段落後にスペースが入るようになりました。左揃えになってしまっています。

仕様変更のようですが、意図的なものではないのではないと思います。つまりバグではないかと思っています。だって、和文は両端揃えのはずだし、段落間の間隔をあけるものでもないし。今回の仕様変更では、英文の仕様がそのまま和文に反映されてしまっているからです。

具体的な表示例

以前の標準スタイルの設定では、以下のように表示されます。

しかし、現在の設定では以下のように表示されます。

文字書式と段落書式の変化

標準スタイルの設定は以下のように変化してしまいました。

[フォント]ダイアログボックス

[フォント]タブ

[詳細設定]タブ

[段落書式]ダイアログボックス

[インデントと行間隔]タブ

この仕様変更に関しては、以下の記事がわかりやすいと思います。手動で直すのであれば、その方法も書かれています。

「Wordの行間が最近広くなってしまった」-最新版で行間など5項目が変更された模様(2024/1) 外部記事へのリンク

Wordで動く翻訳チェックソフト「色deチェック」では、対訳表を作成する際に、ユーザーさんのWordで使われている標準スタイルを基準にして対訳表のファイルを作っています。この仕様変更のせいで、作成される対訳表が格好悪くなってしまうのがつらいです。。。先日のアップデートである程度は修正しているのですが、完全には対処していません。

今後のMicrosoftの対応次第で、私のアドインの設定も変更しようと思います。

本記事では、このWordの仕様変更を修正する(以前の状態に戻す)マクロを紹介します。

このマクロでできること

文字書式と段落書式を修正します。既定の値を変えるわけではなく(つまり、標準テンプレートの設定値を変えるのではなく)、現在の文書の標準スタイルの設定値のみを変更します。

また、元に戻す(仕様変更された現在の標準スタイルの設定値にする)こともできます。

マクロの解説

このマクロでは、現在の文書の標準スタイルの文字書式と段落書式の関連する項目の設定だけ変更しています。それ以外の設定はいじっていません。

文字書式の[詳細設定]タブにある合字という設定項目ですが、これはFont.Ligatures プロパティにて設定します。

参考:Font.Ligatures プロパティ (Word) 外部記事

上記の解説によれば、読みやすさと見栄えが向上するようにデザインされているようです。これは欧米言語系のフォントに適用されるだけで日本語のフォントには関係ありません。

マクロ

以前の設定に戻すマクロ


Sub NormalStyle_以前の設定()
 
 '標準スタイルを以前の設定にする
 
 With ActiveDocument.Styles(wdStyleNormal)
  
  '文字書式設定
  With .Font
   .Size = 10.5
   .Ligatures = wdLigaturesNone
  End With
  
  '段落書式設定
  With .ParagraphFormat
   .SpaceAfter = 0
   .LineSpacingRule = wdLineSpaceSingle
   .Alignment = wdAlignParagraphJustify
  End With
  
 End With
 
End Sub

現在の設定に戻すマクロ


Sub NormalStyle_現在の設定()
 
 '標準スタイルを現在の設定にする
 
 With ActiveDocument.Styles(wdStyleNormal)
  
  '文字書式設定
  With .Font
   .Size = 11
   .Ligatures = wdLigaturesStandardContextual
  End With
  
  '段落書式設定
  With .ParagraphFormat
   .SpaceAfter = 8
   .LineSpacingRule = wdLineSpaceMultiple
   .LineSpacing = LinesToPoints(1.08)
   .Alignment = wdAlignParagraphLeft
  End With
  
 End With
 
End Sub

関連記事

【Word】標準テンプレート(Normal.dotm)の初期化とマクロの復旧方法

-コード
-, , ,