• ベストアンサー

【Excel365マクロ】選択範囲を画像で保存

Excelに簡易電子印を押印する際【Excel電子印鑑】を利用していますが頻繁にエラー1004が発生するため、あらかじめオブジェクトで作成した電子印を画像化して貼り付けています。 毎回、Snipping Toolで範囲指定→画像保存するのが面倒なので、マクロで自動的に画像保存する方法を見つけて実行してみました。 参考リンク → https://vba-create.jp/vba-copypicture-save-png/ 思い通りの画像が作成できましたが、外枠に色がついています。 トリミングすればいいだけですが面倒です。 希望としては、外枠と背景が透明になれば完璧ですが、背景に関しては「透明色を指定」処理すればいいので、外枠だけでも色無しにできないでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.1

rng.CopyPicture を rng.CopyPicture Format:=xlBitmap に変更してみたください。 シートの枠線は非表示にしておいてください。

KO1014
質問者

お礼

毎回ご回答ありがとうございました。 変更して作成してみましたが、外枠はついたままで画像が粗くなってしまい、さらにpngファイルサイズが145KBと大きくなってしまいました。 ※元は20KB程度 表示倍率(ズーム)によってpngファイルサイズが変わるのに気づき、いろいろ試しました。 ズームを小さくしたら外枠は消えましたが、画像の粗さは変わり無しでした。 さらに、作成後も画面上に残像のようなものが残ってしまうので、https://yuworks.blog/excel-vba-hozon/ のマクロに変更し、ご教示いただいた箇所を変更しました。 元々のオブジェクトがφ5cm(Excel上)の小さいサイズでしたので、画像の粗さはこれが原因かと思い、φ18cmに大きくしたら外枠は消えて画像の粗さも無くなりました。 pngファイルサイズも45KBと許容範囲です。 変更後のマクロもズームによってpngファイルサイズが変わるようですが、ズームが大きすぎると白紙の画像ができてしまうようです(笑)。 現在テスト中の自宅PCのモニタサイズは21.5インチですが会社PCは23.8と比較的大きいので、出勤したら再度テストしてみたいと思います。 大変助かりました。