エクセルなどでイラストを描いたり、画像の上に文字を書いたりして加工するときがあります。
この時に困るのが、できあがったイラストを画像ファイルとして保存する方法です。パワーポイントには「図として保存」という機能があり、グループ化した場合は、png形式で保存できます。
このため、このような作業をするときはパワーポイントを使うことが多いのですが、やはりエクセルで作業をしたい。
エクセルにはセルがあるので、このような作業をするとき位置合わせに便利です。
そこで今日は、エクセル上の複数の画像(オブジェクト)をグループ化することなしに、ワンクリックするだけで見たままの状態でpng形式保存する方法をご紹介します。画面をハードコピー(キャプチャー)するよりきれいに保存できます。
一端、webファイルとして保存する方法ではなく、直接、画像として保存する方法です。
エクセル上の画像を保存するにはいくつかの方法があるがめんどくさい
管理人は、このような作業をするときは、パワーポイントを使います。でも、うっかりエクセルで作業をしてしまうこともしばしば。
こんな時は、保存するときに[ファイルの種類]で「webページ(htm.html)」を選び保存すると、欲しい画像の入ったフォルダが作成されます。
もちろん、この方法を使うこともあるのですが、どうも好きになれない。めんどくさい! なんでパワーポイントのように画像をそのまま保存できないのかと思ってしまいます。それに、作ったファイルがhtmとして保存されていて、いろいろ面倒です。
エクセルシート上のオブジェクトを直接画像ファイルとして保存する方法はないようです(もし、Excel最新バージョンができたとしてもそれを持っていなければ何の意味もない。管理人が使っているのはOffice2010です)。
見たまま保存する方法
エクセルでイラストを作ったり、文字入れをしたりする理由は、きれいに仕上がるからではないでしょうか。
エクセルを使い慣れていることも理由の一つですが、とにかく文字がきれいです。文字入れはPhotoshopでやるよりきれいに仕上がるように思います。
エクセルにはオブジェクトを画像ファイルとして直接出力する機能がないので、これができるマクロをネットで探したのですが見つからない。見つかってもそこに書かれているマクロが動かない。
やっと探したのが「MyRecord」というサイトの『Excel VBA 作成した図を透過画像ファイル(PNG)で書き出す』という記事でした。
このマクロは、シート上にあるオブジェクトを背景透明のpng形式で出力できます。まさに管理人が欲しかった機能です。
シート上の複数のオブジェクトを見たままの状態で一枚の画像として保存するシンプルなマクロです。これが欲しかった! 余計な機能はいらない。
エクセルでイラストなどを作るときに使うのが「ワードアート」、「図形」、「テキストボックス」ではないでしょうか。
これをpng形式で出力します。
上で紹介したマクロは管理人にとって不要な部分があったので、簡略化しました。保存先はデスクトップです。
このマクロ付きエクセルファイルを欲しい方は『こちらのダウンロードリンク』からどうぞ。
拡張子は[xls]で保存しています。マクロのロックはありません。
(使いにくかったのでちょっと修正しました Ver2: 複数のシートで使えるように修正。これに合わせ、画像の名前にシート名を追加。)
【使い方】
- メニューバーの[開発] ⇒ [マクロ]
- [png画像保存]をクリック
- 3秒ほど待つと「デスクトップにpng画像として保存されました」とメッセージが表示される。
- デスクトップに[シート名]+[png画像.png]とという名前で保存されています。別な画像を作るときは別シートで作ります。同じシートだとすべてグループ化されます。
マクロで画像出力すると、エクセル上のオブジェクトはグループ化されています。続けて作業をする必要があれば、グループ化を解除してください。
サンプルとして、エクセルで作った蘭ちゃんを使います。43のオブジェクトで描いています。えっ、これって画像じゃないの? と信じない人のために動画を作りました。43のオブジェクトをひとつずつ非表示にしていきます。
「controls」
これをマクロで出力すると下の画像になります。
この方法が優れている点は、とても高画質に保存が可能なことです。画面をキャプチャする場合、解像度は表示サイズで決まってしまいます。しかし、この方法では、エクセル上で大きなオブジェクトにすれば、そのサイズで出力されるので、とても高画質の画像を作ることができます。
4コマ漫画などを作るのに便利ではないでしょうか。