このページではVBAを使って、エクセルシート上の図形をjpg画像ファイルとして出力する方法をご紹介していきます。
※単体の図形に対してはもちろんのこと、グループ化されている図形に対しても実行可能です。
それではさっそくやっていきましょう。
※VBAを使ったことがない、という方は以下の記事で使い方を解説していますので、まずはこちらからご覧ください。
シート上の図形を画像として保存するサンプルVBAコード
それではいきなりですが、サンプルコードをご紹介します。
Sub make_jpg()
Dim file_name As String
file_name = InputBox("画像のファイル名を入力してください(拡張子なしで)")
'画像コピー&情報収集
With Selection
.Copy
w = .Width
h = .Height
End With
'チャート作成
With ActiveSheet
.ChartObjects.Add(100, 100, w, h).Name = "window"
.ChartObjects("window").Activate
End With
ActiveChart.Paste
'画像出力
With ActiveSheet.ChartObjects("window")
.Chart.Export ThisWorkbook.Path & "\" & file_name & ".jpg"
.Delete
End With
End Sub
※マクロの実行方法についてはのちほどご紹介させていただきます。
マクロ実行ボタンを作成しておく
先ほど紹介したサンプルコードを実行する場合、マクロ実行ボタンを作成しておくと便利です。
マクロ実行ボタンの作成方法については、以下の記事で解説していますので、作り方がわからない方は参考にしてみてください。
基本的にはボタンを作成して、先ほどの作成したマクロを登録できればOKです。
私の場合は以下のような感じで作成しました。
今回は左側にある図形グループを画像として保存してみようと思います。
図形を画像として保存するマクロの実行方法
それでは下準備がととのいましたので、実際にマクロを実行してみましょう。
実行手順は以下の通りです。
①まずは画像として保存したい図形(グループ)を選択します。
②選択状態を維持したまま、マクロの実行ボタンを押します。
③すると以下のようなインプットボックスが出現しますので、保存後のファイル名を指定してあげます。
(強制的にjpgになるようにしているので、拡張子は不要です。)
あとはOKを押して完了です。
ここまで出来たらマクロファイルが置いてあるフォルダを確認してみましょう。
以下のようにシート上にあった図形が画像として保存されているはずです。
非常に簡単ですね。
おわりに
というわけで今回は、VBAをつかってエクセルシート上の図形を画像として保存する方法をご紹介しました。
エクセル上の図形で絵をかいて保存する、という状況はよくあると思いますので、ぜひご活用ください。
このように、私のブログではエクセルスキルはもちろん、様々なプログラミングスキルを紹介しています。
今は仕事中で時間がないかもしれませんが、ぜひ通勤時間中などに他の記事も読んでいただけると嬉しいです。
⇒興味をもった方は【ヒガサラ】で検索してみてください。
確実にスキルアップできるはずです。
最後に、この記事が役に立ったという方は、ぜひ応援よろしくお願いします。
↓ 応援ボタン
それではまた!
コメント