Excel 2007 のテキスト ボックスで使用するフォントの種類をマクロで変更できない

現象

Microsoft Office Excel 2007 で TextFrame オブジェクトを使用してフォントを変更する際、以前のバージョンの Excel と同じ方法で .TextFrame.Characters.Font.Name にフォント名を指定してもフォントの種類を変更できません。

原因

Excel 2007 では、テキスト ボックス内の文字列を表示するフォントの種類を [日本語用のフォント] と [英数字用のフォント] でそれぞれ指定することができます。TextFrame オブジェクトのプロパティが変更されたため、この問題が発生します。

回避策

マクロでフォントの種類を指定する場合、TextFrame オブジェクトに [日本語用のフォント] として明示する必要があります。日本語の表示フォントして MS P 明朝を使用する場合、REPRODUCE のコードを次のように編集します。

Sub Sample()
With Sheet1.Shapes.AddTextbox(msoTextOrientationVertical, 0, 0, 200, 200)
.TextFrame2.TextRange.Characters.Text = "テスト"
.TextFrame2.TextRange.Font.NameFarEast = "MS P明朝"
End With
End Sub

状況

マイクロソフトでは、この問題について現在調査中です。詳細については、わかりしだいこの資料に掲載する予定です。

詳細

問題の再現手順

  1. Excel 2007 を起動し、新しいブックを開きます。
  2. [開発] タブをクリックし、[コード] の [Visual Basic] をクリックします。または、Alt キーを押しながら F11 キーを押します。



    : リボンに [開発] タブを表示するには、Microsoft Office ボタンをクリックし、[Excel のオプション] をクリックします。次に、[基本設定] をクリックし、[[開発] タブをリボンに表示する] チェック ボックスをオンにして、[OK] をクリックします。
  3. Visual Basic Editor で [挿入] メニューの [標準モジュール] をクリックします。
  4. モジュール シートに次のサンプル コードを入力するか、貼り付けます。

    Sub Sample()
    With Sheet1.Shapes.AddTextbox(msoTextOrientationVertical, 0, 0, 200, 200)
    .TextFrame.Characters.Text = "テスト"
    .TextFrame.Characters.Font.Name = "MS P明朝"
    End With
    End Sub
  5. マクロを実行します。

結果

フォントの種類は MS P ゴシックと表示され、マクロで指定した MS P 明朝には変更されません。
プロパティ

文書番号:945500 - 最終更新日: 2016/10/04 - リビジョン: 1

Microsoft Office Excel 2007

フィードバック