[Excel VBA]
[ホーム]タブの[フォント]の一覧に表示されるフォントは、[テーマのフォント]と[すべてのフォント]に分類されます。ここでは、セルに[テーマのフォント]を設定するときに使用するThemeFontプロパティを紹介します。セルのデフォルトのフォントは[テーマのフォント]欄にある「本文のフォント」なので、何らかのフォントを設定したセルを「本文のフォント」に戻したい、といったときに役立ちます。[すべてのフォント]欄のフォントを設定したい場合は、Nameプロパティを使用してください。
書式
Fontオブジェクト.ThemeFont = 定数
FontオブジェクトのThemeFontプロパティは、ブックに適用されているテーマのフォントの取得/設定に使用します。設定値には、XlThemeFontクラスの定数を使用します。
■XlThemeFontクラスの定数
定数 | 値 | 説明 |
---|---|---|
xlThemeFontMajor | 1 | 見出しのフォント |
xlThemeFontMinor | 2 | 本文のフォント |
xlThemeFontNone | 0 | テーマのフォントを使用しない |
使用例
下図の実行例では、「HG明朝E」が設定されているセルにテーマのフォントを設定し直しています。
|
|
ThemeFontプロパティとNameプロパティの関係
ThemeFontプロパティとNameプロパティは連動しています。例えば、ThemeFontプロパティに「xlThemeFontMinor」(本文のフォント)を設定すると、Nameプロパティの値は「游ゴシック」になります。
|
|
反対に、Nameプロパティにテーマのフォント以外のフォントを設定すると、ThemeFontプロパティの値は「0」(xlThemeFontNone)になります。
|
|
テーマのフォントではない「游ゴシック」を設定するには
[ホーム]タブの[フォント]の一覧には、[テーマのフォント]欄と[すべてのフォント]欄のそれぞれに「游ゴシック」があります。
[テーマのフォント]欄の游ゴシックを設定するには、前述のとおりThemeFontプロパティに定数「xlThemeFontMinor」(本文のフォント)を設定します。
|
|
[すべてのフォント]欄の游ゴシックを設定するには、ThemeFontプロパティに定数「xlThemeFontNone」(テーマのフォントを使用しない)、Nameプロパティに游ゴシックを設定します。
|
|
そもそも「テーマのフォント」とは?
Excelではブックごとに「見出しのフォント」と「本文のフォント」が決められており、この組み合わせを「テーマのフォント」と呼びます。例えばExcel 2019の標準のブックの場合、見出しのフォントは「游ゴシック Light」、本文のフォントは「游ゴシック」となっています。セルの既定フォントは「本文のフォント」なので、Excel 2019で初期状態のセルに文字を入力すると游ゴシックで表示されます。
テーマのフォントは自由に変更できます。ここでは実験として、下図のような状態のブックでテーマを変更してみます。
それでは、[ページレイアウト]タブにある[フォント]からテーマのフォントを変更してみましょう。初期状態では[Office、游ゴシック Light、游ゴシック]が適用されていますが、例えば[Constantia - Franklin Gothic Book、HG明朝E、HGゴシックE]に変更すると……。
[ホーム]タブの[フォント]の[テーマのフォント]欄に表示されるフォントの種類が変わります。
また、テーマのフォントが設定されていたセルA1とセルA2のフォントが、新しいテーマのフォントに変わります。セルA3の「游ゴシック」は[すべてのフォント]欄から設定したもので、テーマのフォントの影響を受けないので、「游ゴシック」のまま変わりません。
なお、上記のようにテーマを変更したブックでは、ThemeFontプロパティに「xlThemeFontMajor」を設定するとセルのフォントは「HG明朝E」になり、「xlThemeFontMinor」を設定するとセルのフォントは「HGゴシックE」になります。
メモ
メモ