VBAで
・オートシェイプを作成
できます!
VBAコード
ここでは例として
・シート「sample」上にオートシェイプ(四角形の丸い吹き出し)を作成
します。
Option Explicit
Sub sample()
Dim ws As Worksheet
Dim autoShapeRange As Range
Dim autoshapeSample As shape
'オートシェイプを作成するシート
Set ws = Worksheets("sample")
'オートシェイプを配置するセル
Set autoShapeRange = ws.Range("B2:F6")
'オートシェイプを作成
Set autoshapeSample = ws.Shapes.AddShape(msoShapeRoundedRectangularCallout, _
Top:=autoShapeRange.Top, _
Left:=autoShapeRange.Left, _
Width:=autoShapeRange.Width, _
Height:=autoShapeRange.Height)
'オートシェイプの枠線の設定
With autoshapeSample.Line
'種類
.DashStyle = msoLineSolid
'色
.ForeColor.RGB = RGB(0, 0, 0)
'太さ
.Weight = 1
End With
'オートシェイプの塗りつぶしの設定
With autoshapeSample.Fill
'色
.ForeColor.RGB = RGB(255, 255, 204)
End With
'オートシェイプのテキストの配置位置の設定
With autoshapeSample.TextFrame2
'上揃え
.VerticalAnchor = msoAnchorTop
'左揃え
.TextRange.ParagraphFormat.Alignment = msoAlignLeft
End With
'オートシェイプのテキストの設定
With autoshapeSample.TextFrame2.TextRange
'フォント
.Font.NameFarEast = "メイリオ"
'フォントサイズ
.Font.Size = 10.5
'色
.Font.Fill.ForeColor.RGB = RGB(0, 0, 0)
'文字列
.Characters.Text = "VBAでオートシェイプを作成しました。" & vbCrLf & _
"各種設定もしました。"
End With
End Sub
実行結果
オートシェイプを作成できました。
※「四角形の丸い吹き出し」を作成できました。
参考
上記で使用した以下の詳細は、公式サイトをご確認ください。
●「Worksheetオブジェクト」の「Shapes」プロパティ
●「Shapesオブジェクト」の「AddShape」メソッド