游明朝をMS P明朝に変更したい

一夫 松田 20 評価のポイント
2026-05-04T04:39:16.0966667+00:00

AccessからWordにVBAによって出力した時のWordのフォントについて、「MS P明朝」をNormal.dotmテンプレートの既定に設定しても、①などの記号だけが「MS P明朝」ではなく「游明朝」 になります。そして、「游明朝」のある前後の文章の行間が1.5行になります。英数字用のフォントは「日本語用と同じフォント」にしています。但し、通常のWord文書作成の場合は、全て「MS P明朝」で表示され、何も支障はありません。ただ、その不自然な文書を全選択するとリボンのフォントのところが空白になるので、それを「MS P明朝」に切り替えるとフォントが全て「MS P明朝」になるのですが、煩わしいので事前に設定する方法は何かないのでしょうか?教えてください。よろしくお願いします。

開発者テクノロジ | Visual Basic for Applications
0 件のコメント コメントはありません

質問作成者が受け入れた回答
Makapu 92,380 評価のポイント ボランティア モデレーター
2026-05-04T09:44:12.69+00:00

こんにちは。

手元の環境で確認してみました。

Microsoft 365 バージョン 2604 (ビルド 19929.20106 クイック実行)

普通に実行すると同じ様に①などの丸数字の記号だけが「MS P明朝」ではなく「游明朝」になりました。

ユーザーの画像

試したところ、Word で「フォント」>「フォントのカスタマイズ」>「既定に設定」で上手く行くようになりました。

1 . Word の[デザイン] > [フォント]で[フォントのカスタマイズ]で、

日本語文字用のフォント

・見出しのフォント(日本語):MS P明朝

・本文のフォント(日本語):MS P明朝

として保存します。

ユーザーの画像

2 . フォントでユーザー定義を選択したら「既定に設定」をクリックすると、

「現在のスタイルセットとテーマ(フォント、色、効果、および段落の間隔など)を既定値として設定しますか?

 これらの設定は、すべての空の文書に適用されます。」と聞かれるので[はい]で確定します。

ユーザーの画像

  1. Word を終了して再度 Access からVBAを実行すると、丸数字の記号が「MS P明朝」になったことを確認しました。

ユーザーの画像

・サンプルコード

Sub test1()
    Dim wd As Object
    Set wd = CreateObject("Word.Application")
    wd.Visible = True
    With wd.Documents.Add
        wd.Selection.Font.Name = "MS P明朝"
        wd.Selection.Font.NameFarEast = "MS P明朝"
        wd.Selection.TypeText "1行目:①②③"
        wd.Selection.TypeParagraph
        wd.Selection.TypeText "2行目:ABC 123"
        wd.Selection.TypeParagraph
        wd.Selection.TypeText "3行目:テスト"
    End With
End Sub

同じ様に上手く行くと良いのですが・・・。

この回答は役に立ちましたか?

1 人がこの回答が役に立ったと思いました。

1 件の追加の回答

並べ替え方法: 最も役に立つ
  1. simo-k 96,055 評価のポイント ボランティア モデレーター
    2026-05-04T06:33:52.9566667+00:00

    未確認ですが、マクロが当該Normal.dotmを参照しているのでしょうか?
    (マクロにて、スタイル設定されているフォント情報などを確認してみてください。)

    特定のフォントを利用したい場合は、マクロにてフォントを指定してみてください。

    <追記>
    上記は、一部字消ししました。

    > 英数字用のフォントは「日本語用と同じフォント」にしています。
    それはどのスタイルに適用していますか? (標準/見出し/リスト段落 など。) そして、着目している文字にはどのスタイルが適用されていますか?

    この回答は役に立ちましたか?


お客様の回答

質問作成者は回答に "承認済み"、モデレーターは "推奨" とマークできます。これにより、ユーザーは作成者の問題が回答によって解決したことを把握できます。