tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル 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になりました。

 プログラム中に変なループは無いと思っているのですが良く分かりません。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。