Sub TEST1()
With ActiveSheet.ChartObjects("グラフ 1")
'チャートを、画像として保存
.Chart.Export ThisWorkbook.Path & "\fig1.jpg"
End With
End Sub
チャートは、先ほど作成したものを使います。
作成したチャート
では、実行してみます。
チャートを画像として保存
チャートをJPGの画像として、保存できました。
保存した画像は、こちらです。
保存した画像
という感じで、オートシェイプは、画像として保存できませんけど、チャートならできます。
VBAでオートシェイプをJPGの画像として保存
先ほどの内容を踏まえて、オートシェイプを、JPGの画像として保存してみます。
VBAコード
オートシェイプを、JPGの画像として保存するVBAコードは、こんな感じになります。
Sub TEST2()
'オートシェイプを、オブジェクトに格納
Dim Shp
Set Shp = ActiveSheet.Shapes("グループ化 1")
'チャートを作成
Dim Cht
Set Cht = ActiveSheet.ChartObjects.Add(0, 0, Shp.Width, Shp.Height)
With Cht
Shp.CopyPicture Format:=xlBitmap 'オートシェイプを画像としてコピー
.Chart.Parent.Select 'チャートを選択
.Chart.Paste 'チャートに貼り付け
.Chart.Export ThisWorkbook.Path & "\fig1.jpg" 'チャートを、画像として保存
.Delete 'チャートを削除
End With
End Sub