勝手に行われる OLE Embedding

例えば Excel のワークシートに画像を貼り付けるとき、

  • PrtScrn または Alt+PrtScrn で撮った SS を、そのまま貼り付ける。
  • メニューの [挿入]→[図]→[ファイルから] で貼り付ける。

のいずれかだと、ある程度大きな画像でも Excel 文書はさほど大きくならない。画像データに対して圧縮が働くからだ。
ところが、

  • 画像をペイントで開いて、[すべて選択] + [コピー] したのを、Excel に貼り付ける。

というのをやると、途端に Excel ファイルがでかくなる。
その理由は、ペイント経由だと画像の貼付けではなく OLE Embedding、つまりペイントオブジェクトの貼り付けになってしまうからだ。このことは、貼り付けた画像を Excel ワークシート上で選択した時、数式バーに

=EMBED("Paint.Picture","")

という表示が出ることからもわかる。
ペイントで書いた絵を Excel に貼り付けたい、でもサイズが大きくなるのはいや、といった場合は、[書式を指定して貼り付け] を使い、[ビットマップ イメージ オブジェクト] の代わりに [ビットマップ] を選択すればいい。
ちなみに、データサイズの大きい画像をペイントでコピーすると、クリップボードに反映されるまで数秒かかるようで、急いで Excel に貼り付けようとしてもクリップボードの内容が直前のままだったりする。