(Wordマクロ)フォントの色や下線の設定

フォントの色や下線の設定をマクロで制御します。





このページで解説する項目は次の通りです。上から順番に解説します。

①フォントの色

プロパティについて

フォントの色を指定するには、Colorプロパティ、ColorIndexプロパティ、ColorIndexBiプロパティのいずれかを設定します。
なお、理由は不明ですが、WordのVBAのオブジェクトブラウザにColorプロパティは記載されていません。RGBでの色指定はColorプロパティでなければできませんので、注意してください。
また、ColorIndexプロパティやColorIndexBiプロパティで指定できる色の数は少ないため、本記事においてはColorプロパティを中心に解説します。ColorIndexで指定できる定数については、WdColorIndex 列挙型を参照してください。

マクロの記録について

マクロの記録で色を変更すると、下のようにColorプロパティに数字が記録されます。数値で色を指定するのは非常に判りにくいため、可能な限り避けましょう。

Sub Macro1()
'マクロの記録より関係する部分のみ抜粋
With Selection.Font
        .Color = 10254993 'RGB(145,122,156)
End With

End Sub

どうしても数値で色を指定したい場合は、Constステートメントを利用して可読性を高めましょう。

Constステートメントの使用例

Public Sub フォントの色を白に変える()

Const White = 16777215
Selection.Font.Color = White

End Sub

Colorプロパティの定数一覧

Colorプロパティには複数の定数があらかじめ用意されています。数が多いため、指定できる定数については、WdColor 列挙型を参照してください。

Colorプロパティの使用例

Public Sub フォントの色を赤に変える()

Selection.Font.Color = wdColorRed

End Sub
Public Sub フォントの色を黄に変える()

Selection.Font.Color = wdColorYellow

End Sub

RGBでフォントの色を指定する

RGBでフォントの色を指定できます。RGBは細かい色の指定も可能という利点がありますが、コードを見た時に果たしてそれが何色を指定しているのかが判りにくいため、注釈等で色名を明らかにした方がよいでしょう。

RGBによる色指定の使用例

Public Sub フォントの色を変える()

Selection.Font.Color = RGB(0, 128, 128) '青緑

End Sub




②フォントの下線

プロパティについて

Underlineプロパティで設定します。設定できる定数は全部で17種類あります。数が多いため、指定できる定数については、WdUnderline 列挙型を参照してください。

フォント下線設定の使用例

Public Sub 文字に一重の下線を付ける()

Selection.Font.Underline = wdUnderlineSingle

End Sub
Public Sub 文字の下線をとる()

Selection.Font.Underline = wdUnderlineNone

End Sub

③フォントの下線の色

プロパティについて

UnderlineColorプロパティで下線の色を設定します。設定方法については、上記で説明したColorプロパティと共通です。なお、下線が引かれていない状態で下線の色を設定しても、下線が設定されることはありません。

フォント下線の色設定の使用例

以下の使用例は、選択範囲の下線を青にしますが、選択範囲に下線がなかった場合または下線のある箇所とない箇所が混在していた場合はエラーメッセージを出して処理を中断します。

Public Sub 下線設定()

''定数定義/下線混在の場合
Const UnderMix As Long = 9999999

With Selection.Font
If .Underline = wdUnderlineNone Then
    MsgBox "選択範囲に下線がありません"
    Exit Sub
ElseIf .Underline = UnderMix Then
    MsgBox "選択範囲に下線がある箇所とない箇所が混在しています"
    Exit Sub
End If
    .UnderlineColor = wdColorBlue
End With

End Sub

④傍点

プロパティについて

EmphasisMarkプロパティで設定します。設定できる定数は全部で5種類あります。VBAでなければ設定できない傍点マークが2つ存在します。

傍点の使用例

傍点を取る場合

Public Sub 傍点を取る()

Selection.Font.EmphasisMark = wdEmphasisMarkNone

End Sub

読点を傍点にする場合

Public Sub 傍点として読点を付ける()

Selection.Font.EmphasisMark = wdEmphasisMarkOverComma

End Sub

<実行結果>

中黒を傍点にする場合

Public Sub 傍点として中黒を付ける()

Selection.Font.EmphasisMark = wdEmphasisMarkOverSolidCircle

End Sub

<実行結果>

下記二つは、通常は設定できない傍点マークです。

白丸を傍点にする場合

Public Sub 傍点として白丸を付ける()

Selection.Font.EmphasisMark = wdEmphasisMarkOverWhiteCircle

End Sub

<実行結果>

日本語用にカスタマイズされていないためか、上二つの傍点に比べて、文字に近すぎる印象を受けます。

中黒を傍点にし、文字の下に付ける場合

Public Sub 文字の下に傍点を付ける()

Selection.Font.EmphasisMark = wdEmphasisMarkUnderSolidCircle

End Sub

<実行結果>

白丸と異なり、こちらは文字に近すぎるということもなく、実用に耐えうるレベルです(文字の下に強調マークを付けたいという需要があれば、の話になりますが……)。

おすすめ

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください