タイトル : Re^2: エクセルに画像を転送 投稿日 : 2012/07/31(Tue) 19:42 投稿者 : yarihotaka
魔界の仮面弁士様 早速の助言有り難うございます。 > > 下記はExcel上に表示したPictureにVBから指定の画像を表示する方法です。(230) > 下記の後半部分のコードでしょうか? はい、そうです。一番最後の部分のサンプルを利用させてもらいました。 > > 例えば340KBサイズの画像ファイルをシートのイメージコントロールに14枚ほど転送し保存したエクセルのファイルがなんと300MB近くになってしまいます。 この記述は少し間違っていました。記憶が少しあいまいなのですが正しくは900KBぐらいの画像ファイルでした。 > 新規に xls ファイルを用意しなおしてみて、そこに > ・画像 1 枚だけ処理した場合 > ・画像 5 枚だけ処理した場合 > をそれぞれ試した場合、サイズは如何ほどになりますか? > > また、JPG ファイルの代わりに、ペイント等で作成した 640x480 のビットマップを > 貼りこんでいった場合、Excel のサイズ増加はどの程度でしょうか? > 魔界の仮面弁士様の助言を受けていろいろ試してみました。 416KBのJPG画像ファイルを用意し、プログラムからエクセルに1枚を転送すると16.7MB、2枚で24.6MB、3枚で32.5MBとなります。そして10枚を転送すると87.9MBとなります。普通にエクセルを起動し新規ブックに挿入で同じJPG画像ファイルを10枚貼り付けると433KBにしかなりません。 次に425KBのBMP画像ファイルを用意し、プログラムからエクセルに10枚を転送すると5.2MB、普通にエクセルを起動し新規ブックに挿入で同じBMP画像ファイルを10枚貼り付けると258KBになります。 ちなみに自動転送プログラムで使用する、マクロを組み込み空のイメージコントロールを各シートに14個配置した(シート総数は9ページです)エクセルファイルのサイズは320KBです。 念のために1個のみ空のイメージコントロールを配置したエクセルファイル(シート総数も1ページ、ファイルサイズは54KB)にプログラムから416KBのJPG画像ファイル1枚を転送すると16.4MBになりました。 プログラム中に変なループは無いと思っているのですが良く分かりません。 |