スポンサーリンク
この広告は一定期間(1ヶ月以上)更新のないブログに表示されます。
ブログ記事の情報が古い場合がありますのでご注意下さい。
(ブログオーナーが新しい記事を投稿すると非表示になります。)
ブログ記事の情報が古い場合がありますのでご注意下さい。
(ブログオーナーが新しい記事を投稿すると非表示になります。)
2011年11月08日
これ何だ?プログラム編
またまた備忘録となります。
いよいよ最終回です。ご興味があれば、どうぞ。
シリーズになってます。
ここから先は、以前の記事もご覧にならないと
何やってんの?
が伝わらないと思います。
「これ何だ?正解は・・・」
エクセルのセルに色を付けて、
画像を表現することに挑戦してます。
「これ何だ?の種明し」
一つ一つ手作業でセルに色は付けられないので、
VBA(プログラム)で処理します。
「ビットマップ画像の仕組み」
画像の点1px分のデータを取り出すために、
ピットマップファイルの仕組みをしらべました。
「ビットマップ画像の仕組み2」
ビットマップファイルと4の倍数について調べました。
の続きです。
画像を読込み、1ピクセルをセル一つに割り当てて、
エクセルのセルで画像を再現する事をVBA(プログラム)でやってます。
今回、
最終回は、プログラムの中身についてMEMOしておきます。
これです。

データの中身が確認できるように、データーチェック部分で、
内容をエクセルのB列に書き出しています。

ここで、問題になっていた
画像サイズに制限がある理由についてですが、
今さらですけど、
サイズの大きい画像でエラーが起こるのは、
このデータチェック部分のせいのような気がしてきました。
データーチェック部分のループ i が、
整数のため、32767までしかカウントできないためではないか?
と記事を書きながら、思いました。
続きは、次回にしようと思いましたが、シリーズが長くなっているので、
このまま続けます。
急遽、実験してみます。
データチェック部分を無効にして実行してみます。
横幅240px 高さ180px
240 × 180 × 3 + 54 + 2 = 129656バイトのファイルです。

なんと!できました。
バグったかと思うほど、3分くらい?処理に時間がかかりました。
通常の100%表示にするとこんな感じです。

セル一つ一つに色が付いているのが確認できます。
詳しい原因は、あくまで推測ですが、
データーのチェックと確認の為、作成した部分で、
不具合を起こしていました。
ちょっとショックでしたが、ギリギリで気付いてよかったです。
< 追記 >
エクセルの行列の上限や、ループ変数 L Cの上限をクリア
しているわけではありません。
エラー処理は行っていないので、エクセルの列数、処理時間も考えて
240px × 180pxくらいが、限界と思っています。
いつもの事ですが、
内容に誤りがあっても責任は負えません。
長かったシリーズも、これで完結です。
何かの役に立つとは思いませんが、やってみたかった事なので、
書き留めて置くことにしました。
おまけ 続きを読む
いよいよ最終回です。ご興味があれば、どうぞ。
シリーズになってます。
ここから先は、以前の記事もご覧にならないと
何やってんの?
が伝わらないと思います。
「これ何だ?正解は・・・」
エクセルのセルに色を付けて、
画像を表現することに挑戦してます。
「これ何だ?の種明し」
一つ一つ手作業でセルに色は付けられないので、
VBA(プログラム)で処理します。
「ビットマップ画像の仕組み」
画像の点1px分のデータを取り出すために、
ピットマップファイルの仕組みをしらべました。
「ビットマップ画像の仕組み2」
ビットマップファイルと4の倍数について調べました。
の続きです。
画像を読込み、1ピクセルをセル一つに割り当てて、
エクセルのセルで画像を再現する事をVBA(プログラム)でやってます。
今回、
最終回は、プログラムの中身についてMEMOしておきます。
これです。

データの中身が確認できるように、データーチェック部分で、
内容をエクセルのB列に書き出しています。

ここで、問題になっていた
画像サイズに制限がある理由についてですが、
今さらですけど、
サイズの大きい画像でエラーが起こるのは、
このデータチェック部分のせいのような気がしてきました。
データーチェック部分のループ i が、
整数のため、32767までしかカウントできないためではないか?
と記事を書きながら、思いました。
続きは、次回にしようと思いましたが、シリーズが長くなっているので、
このまま続けます。
急遽、実験してみます。
データチェック部分を無効にして実行してみます。
横幅240px 高さ180px
240 × 180 × 3 + 54 + 2 = 129656バイトのファイルです。

なんと!できました。
バグったかと思うほど、3分くらい?処理に時間がかかりました。
通常の100%表示にするとこんな感じです。

セル一つ一つに色が付いているのが確認できます。
詳しい原因は、あくまで推測ですが、
データーのチェックと確認の為、作成した部分で、
不具合を起こしていました。
ちょっとショックでしたが、ギリギリで気付いてよかったです。
< 追記 >
エクセルの行列の上限や、ループ変数 L Cの上限をクリア
しているわけではありません。
エラー処理は行っていないので、エクセルの列数、処理時間も考えて
240px × 180pxくらいが、限界と思っています。
いつもの事ですが、
内容に誤りがあっても責任は負えません。
長かったシリーズも、これで完結です。
何かの役に立つとは思いませんが、やってみたかった事なので、
書き留めて置くことにしました。
おまけ 続きを読む