Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


59526 / 76732 ←次へ | 前へ→

【21893】Re:バイナリファイルをTXTファイルで書込みをしたい
発言  ichinose  - 05/2/2(水) 21:23 -

引用なし
パスワード
   ▼yaya さん、Jakaさん、こんばんは。

>早速トライしてみました
>その結果 バイナリデーターがセルに書きこまれ
>バイナリデーターの中身(今読もうとしているものは数値です)
>を見ることが出来ませんでした

バイナリファイルをLine Inputステートメントで読み込むのですか?
う〜ん、これは無理だと思いますが・・・。
例えば、以下のコード実行してみて下さい。
これは、"123"という文字列を書き込むコード
'===================================================
Sub mk_txt()
  flno = FreeFile
  Open "D:\My Documents\test.txt" For Output As #flno
   '   適当なパスに直して下さい
  Print #flno, "123"
  Close #flno
End Sub

次いで以下のコードを実行してみて下さい
これは、作成したtest.txtからデータを読み込むコード
'=====================================================
Sub read_txt()
  flno = FreeFile
  Open "D:\My Documents\test.txt" For Input As #flno
  Line Input #flno, txt$
 
  Cells(1, 1).Value = txt$
  Close #flno

End Sub

セルには、123と表示されていますよね?
実際のtest.Txtには、Hexコード(16進数)で表すと、

31 32 33 0D 0A

という5バイトのデータが格納されています。

Line Inputステートメントは、0D0Aを取得しません。

でも、バイナリファイルの場合、この0D0Aも立派なデータですから、
取得できないと困ってしまいますよね?

>バイナリデーターの中身(今読もうとしているものは数値です)
>を見ることが出来ませんでした

バイナリファイルの中身を仮にLine Inputステートメントで
取得できたとしてもそのまま、セルに放り込んでは殆ど、表示されないと思いますよ。
例えば、データとして(16進数)で
00 01 02

なんてデータは、セル代入しても表示されません。
文字として表示可能なコードではないですから・・・。

で、私がわからないのは、
>読もうとしているものは数値です
とありますが、どういう結果を希望しているのかがわからないんです。

ダンプリストのような結果がほしいのでしょうか?
例えば、上記のtest.txtだと

31 32 33 0D 0A

という結果を表示するのならば、私も作った事がありますが・・・。

0 hits

【21873】バイナリファイルをTXTファイルで書込みをしたい yaya 05/2/2(水) 15:52 質問
【21880】Re:バイナリファイルをTXTファイルで書込みをし... Jaka 05/2/2(水) 16:33 回答
【21885】Re:バイナリファイルをTXTファイルで書込みをし... yaya 05/2/2(水) 17:08 お礼
【21893】Re:バイナリファイルをTXTファイルで書込みをし... ichinose 05/2/2(水) 21:23 発言
【21903】Re:バイナリファイルをTXTファイルで書込みをし... yaya 05/2/3(木) 10:05 お礼
【21924】Re:バイナリファイルをTXTファイルで書込みをし... ichinose 05/2/3(木) 21:05 発言
【21936】Re:バイナリファイルをTXTファイルで書込みをし... yaya 05/2/4(金) 11:10 お礼

59526 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free