【Excel/VBA】VBAでオブジェクトを画像として保存する方法

  • このエントリーをはてなブックマークに追加

Excelで図形や画像を組み合わせたものを画像として保存したい場合があります。

ですが、Excelには画像として保存する機能が備わっていません。

解決策はいろいろありますが、今回は流用性を考えてVBAでの解決方法を紹介します。

 

動作を確認したExcelバージョン

・Excel 2013

・Excel 2016

どのような機能を作るか?

今回作るのは、セル範囲指定された部分を画像として保存出来るように作ります。

出来上がった画像の仕上がりはこちら↓

 

選択した範囲をまるっと画像化するため、背景に罫線があると写り込んでしまいます。

余計な罫線を写り込ませないために、あらかじめシートの罫線を消しておきました。

 

画像保存処理について

ソースは以下の記事を参考に作成しました。

参考:https://teratail.com/questions/105469

 

画像を保存する際に、Chart(グラフを表示させるためのオブジェクト)を利用しています。

はじめに、選択した範囲を「CopyPicture」で画像としてクリップボードにコピーします。

そして、ChartObjectsコレクションの「Add」メソッドを利用することで空の埋め込みグラフを作成し、このグラフの中に画像をペーストします。

そのあと、グラフを所定の場所に画像形式として保存させています。

 

画像ファイル名はがぶらないように「IMG-年月日時分秒.png」のように出力するようにしています。

今回はPNG形式にしてますが、JPEGでも出力出来ました。

  • このエントリーをはてなブックマークに追加

SNSでもご購読できます。

コメントを残す

*