(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
<実行結果>
白丸と異なり、こちらは文字に近すぎるということもなく、実用に耐えうるレベルです(文字の下に強調マークを付けたいという需要があれば、の話になりますが……)。
最近のコメント