VBAで図形(オートシェイプ)の枠線の色や種類、太さを変更する方法をご説明します。
塗りつぶしの色に合わせるなど、デフォルトの色のままでは視覚的にも微妙なので、位置の指定やサイズの変更に併せて、ぜひ枠線の色は変更方法を覚えてみてください。
枠線の色、太さ、線の種類を順に説明します。
その他の図形の操作については次の記事をご覧ください。
- 図形(オートシェイプ)一覧と作成/追加する方法
- 図形(オートシェイプ)の位置やサイズを変更する
- 図形(オートシェイプ)を取得する方法
- 図形(オートシェイプ)を反転、回転させる方法
- 図形(オートシェイプ)の塗りつぶしを変更する方法
- 図形(オートシェイプ)にテキスト・文字列の入力方法
- 図形(オートシェイプ)にマクロを登録する方法
1.図形の枠線を操作する
枠線の色
図形の枠線の色を変更する方法です。
Shapeオブジェクトの「Lineプロパティ」で取得できる、「LineFormatオブジェクト」を操作します。
「Line.ForeColor.RGB」で色を指定します。
次のように記述します。
ActiveSheet.Shapes(1).Line.ForeColor.RGB = RGB(255, 0, 0)
「RGB(255, 0, 0)」は赤色です。
RGBとは「赤」「緑」「青」の組み合わせで色を設定する関数です。
それぞれ0~255の数値で指定します。
枠線の太さ
図形の枠線の太さを変更する方法です。
枠線の太さも色と同様に「Lineプロパティ」で取得できる、「LineFormatオブジェクト」を操作します。
「Weight」で太さのポイントを指定します。
次のように記述します。
ActiveSheet.Shapes(1).Line.Weight = 6
枠線の種類
枠線の種類は実線や点線、1重線や2重線などを指定する方法です。
こちらも同様に枠線の太さも色と同様に「Lineプロパティ」で取得できる、「LineFormatオブジェクト」を操作します。
「Style」で1重線や2重線を指定し、「DashStyle」で実線や点線を指定します。
次のように記述します。
1重線の実線のコードになり、定数で指定できます。
ActiveSheet.Shapes(1).Line.Style= msoLineSingle
ActiveSheet.Shapes(1).Line.DashStyle= msoLineSolid
Styleの定数一覧
定数 | 値 | 説明 |
msoLineSingle | 1 | 一重線 |
msoLineThinThin | 2 | 細い二重線 |
msoLineThinThick | 3 | 細い線と太い線の二重線。上が細い線で下が太い線 |
msoLineThickThin | 4 | 太い線と細い線の二重線。上が太い線で下が細い線 |
msoLineThickBetweenThin | 5 | 両側を細い線ではさまれた太い線 |
DashStyleの定数一覧
定数 | 値 | 説明 |
msoLineSolid | 1 | 実線 |
msoLineSquareDot | 2 | 点線 (角) |
msoLineRoundDot | 3 | 点線 (丸) |
msoLineDash | 4 | 破線 |
msoLineDashDot | 5 | 一点鎖線 |
msoLineDashDotDot | 6 | 二点鎖線 |
msoLineLongDash | 7 | 長破線 |
msoLineLongDashDot | 8 | 長鎖線 |
2.図形の枠線のサンプルコード
枠線の色、太さ、スタイルを操作するサンプルコードです。
次の図を操作します。
Sub Sample1()
With ActiveSheet.Shapes(1).Line
.ForeColor.RGB = RGB(255, 0, 0) '枠線の色
.Weight = 6 '太さ
.Style = msoLineSingle '線のスタイル
.DashStyle = msoLineSolid '線のタイプ
End With
End Sub