• ベストアンサー

RGB値をExcelにエクスポートできませんか?

quenistaの回答

  • quenista
  • ベストアンサー率28% (122/425)
回答No.5

>Static buf(383 * 3) As Byte では無く、元の数値の383が、128*3の値です。 つまり、Xサイズが128固定なので、この数値になって居ますが、今回は可変にしたいと言う事ですので、使用するXサイズの最大値*3の値を入れると言う事に成ります。 例えば、MAXを640とするなら、 Static buf(1919) As Byte と記述すれば良いと思います。 先ず、このプログラム中のBmp.biWidthがXサイズ,Bmp.biHeightがYのサイズですね。 >>Getの時に、Bmp.biWidth*3の長さで読み出す様にする。のところは >For i = 0 To Bmp.biWidth * 3 - 1 >でいいのでしょうか? 先程のBufの設定で、Bufの確保は出来てますので、 今度は、読み込む所を直してやる必要があります。 つまり、 Get #1, , buf 'One Line Reading... の行で、データサイズ指定で読み込めば良いのです。 (引数の場所等は、ちと手元に資料が無いので、調べて見て下さいね。) その時のデータサイズが、(Bmp.biWidth*3-1) の値を指定すれば良いのです。 For文のところは、元々Bmp.biWidthでデータを取得してますので、可変長の対応が出来てると思って良いです。 >>このプログラムでは、パレットデータには対応してないので、24BitフルカラーのBMPに変換して置いてから、使う必要が有りますね。 >>(確かに、パレット対応すると手間ですからね。) >のところを少し詳しく教えてください。 一言で、BMP形式と言っても、幾つかの種類が有ります。 例えば、モノクロ2階調やモノクロ256階調,カラー256色,フルカラー等です。 その中で、このプログラムはフルカラーにのみ対応している様です。 フルカラー以外は、 >If Bmp.biBitCount <> 24 Then 'Full Color Image? ではじかれる様になってます。 >それから、Global Data(128, 128)の宣言はこのプログラム(テキストから抜粋)に続きがあるのでそこで使われるのだと思います…。 サイズ制限を可変長にする為には、ここの値を使ってるのであれば、修正してやる必要が有りそうな感じ(以後のプログラッムが解らないので、何とも言えませんが。)です。 全く、使用してないなら、削除しても問題無いと思いますよ。 >ばかばかしい質問でしょうがどうか宜しくお願いします。 いえいえ。 ちゃんとやり取りをして頂けるので、こちらもアドバイスしてて楽しいです。(^_^) かなり余談ですが...。 次に回答出来るは、11時以降になると思います。(もし、待っておられると悪いので...。)

gmen
質問者

補足

quenistaさん、いままでねばったのですが、どうしてもうまくいきません…。 申し訳ありませんが、もう少し教えてください。 quenistaさんの前回の回答に習って、Bufの確保まではわかったのですが、 その次のデータサイズ指定で読み込む方法がわかりません。 For文のところは可変長の対応が出来てるということは Bmp.biWidth-1 と Bmp.biHeight-1 はいじらなくてもいいということでしょうか?

関連するQ&A

  • エクセルのエクスポート

     エクセルのエクスポートでブックを変えずにどんどん追加したいのですがどうすれば良いでしょうか エクセル2002です。

  • 「Excelにエクスポート」ができない

    IE9をインストールしたら「Excelにエクスポート」ができなくなりました。試しにIE8に戻したらこれまで通りできます。IE9でもエクスポートできるようにするにはどうしたらいいでしょうか?(Win7HomePremium ・Excel2007を使っています)よろしくお願いします。

  • HPのデータをEXCELにエクスポートしたい、、

    HPのデータをEXCELにエクスポートしたいのですが、 画像形式(GIF)のものはできるのでしょうか? また、できるのなら、どうやってするのでしょうか? また、できないとしても、どうにか工夫して、手写しより簡単にできる方法ないでしょうか? よろしくお願いします。

  • AccessからEXCELへのエクスポート・・・みたいな・・・・

    accessからexcelへのデータエクスポートなのですが・・・ excelへの指定されたセルへのエクスポートならわかるのですが・・・ accessのデータ量(レコード数)が変化するので・・・その方法がわかりません・・・ 教えてください・・・。

  • ACCESSからエクセルへのエクスポート

    非常に困っています。どなたか教えて下さい。 エクセルのCSVファイルからアクセスのテーブルにデータをインポートして そのテーブルから新しいエクセルファイルにデータをエクスポートします。 (1)エクセルの元ファイル 列1 数値 1桁 (2)アクセスにインポート(インポート定義)        列1 数値型 1桁                 書式で3桁にする。 (3)エクセルにエクスポート(エクスポート定義)  列1 1桁になってしまいます。 ※(2)までは書式に000を入れることで解決しました。   (3)にエクスポートした状態で 列1を3桁にしたいのです                     例えば0→000 ちなみにアクセスは2002を使用しています。 どなたか教えて下さい。本当に困っています。

  • エクセルをワードへエクスポート

    エクセルをワードへエクスポートしたいんですが アクセスを持ってません。 他にエクスポートできるようなソフトってありますか? 出来れば無料ダウンロードできるようなのがあれば大変助かるんですが。

  • ACCESSからEXCELにエクスポートしたい!

    かなり困っています... ACCESSからEXCELにデータをエクスポートしたいのですが、ACCESS側の テーブルの中身すべてをEXCELに吐き出すのではなくて、1レコードづつ エクスポートしたいのです。 やりたいことは... ACCESS側のテーブルをEXCELにエクスポートする際、あらかじめ、テーブルの 一つのフィールド(部門コード)を昇順に並べておいて、エクスポートしていきながら、部門コードが変わったら、それまでの部門の金額の合計を出し、その合計もエクスポートして、次の部門に進み、最終的に金額の総合計をだそうと考えています。 この部分をVBAで組もうと考えているのですが... エクセルのレイアウトを簡単に書くと 部門 100      名称    金額            aaa  1000      bbb 500 合計         1500 部門 200      名称    金額            ccc  700      ddd 400 合計         1100 こんな感じです ちなみにOS WIN98 ACCESS2000,EXCEL2000です 皆様、よろしくお願いします。

  • Access⇒エクセルへのエクスポートについて

    Accessからエクセルへのエクスポートで質問です。 Accessのテーブルの中の一つのフィールド(名前は[合計])で、=[単価]*[数量]という計算をさせたとします。 このテーブルをエクセルにエクスポートし、エクセル上で例えば [単価]の累積合計 =SUM(**:**) [数量]の累積合計 =SUM(**:**) [合計]の累積合計 =SUM(**:**) をしたとすると、[単価]と[数量]は値が得られるのですが、Accessで計算させた[合計]は0になって値を得ることができません。 [単価]と[合計]は通貨型、[数量]は数値型に設定しています。 Accessのテーブル上では[単価]と[合計]には¥マークがついているのですが、エクセルにエクスポートすると、[単価]は¥マークがついておらず、[合計]には¥マークがついています。 Accessで計算させたフィールドは、エクセルにエクスポートした場合、数字として認識されないのでしょうか?文字になってる? うまく説明出来なくてすみませんが、Accessをエクスポートし、エクセルで加工計算を色々したいのですが、[合計]が計算出来なくて困っているという事です。 何故なのか全く判らないので教えてください。

  • ビットマップ画像をRGB値でエクセルに出力したいんですが・・・

    ビットマップ画像を取り込んで、1ピクセル毎のRGB値をエクセルに出力したいのですが、そのようなプログラムがわかる方やフリーソフトがありましたら教えて下さい!!! C#っていうのが一応手元にあります。 全くの素人でわかりづらくて申し訳ありません。。

  • エクセルからアクセスへエクスポートしたときのハイパーリンク型について

    アクセスからエクセルへのエクスポートについて テ-ブル1を ファイル→エクスポート→エクセルファイル(97-2003)にして出力 したときにハイパーリンク型が「#http://~#」 となり文字列になるのですが そのままハイパーリンク型でエクセルにエクスポートするにはどうすればいいでしょうか? 宜しくお願い致します。