【エクセルVBA】シート上の図形を画像として保存(出力)する方法!

このページでは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をつかってエクセルシート上の図形を画像として保存する方法をご紹介しました。

エクセル上の図形で絵をかいて保存する、という状況はよくあると思いますので、ぜひご活用ください。

 

このように、私のブログではエクセルスキルはもちろん、様々なプログラミングスキルを紹介しています。

 

今は仕事中で時間がないかもしれませんが、ぜひ通勤時間中などに他の記事も読んでいただけると嬉しいです。

⇒興味をもった方は【ヒガサラ】で検索してみてください。

確実にスキルアップできるはずです。

 

最後に、この記事が役に立ったという方は、ぜひ応援よろしくお願いします。

↓ 応援ボタン

にほんブログ村 IT技術ブログ VBAへ
にほんブログ村

それではまた!

コメント

タイトルとURLをコピーしました