• 締切済み

またまたバイナリ→テクスト

VBは5で、Excle2000のVBAでやってます。バイナリデータ→テクストデータに 128バイナリデータを添え字を使って1バイトごとに抽出DATA_PS = DATA_PS & 変換関数 というふたつの部分のリファレンスが正しくかけなくて 困ってます。Getを使って1バイトづつとりだして、Hexを使って変換するというものだそうです。 誰か教えてください。

みんなの回答

  • yanmaa
  • ベストアンサー率45% (207/457)
回答No.1

OPEN、GET、CSTR、HEX、EOF、DOの関数仕様位は自分で調べましょう。 IPO(入力→処理→出力)をイメージ出来てますか? これが出来ないのに質問すると言うことはどういうことか分かりますか? 最低でも入力と出力を正しく説明できないのならおのずと得られる回答は良い物になりませんよ。

関連するQ&A

  • 1バイトごとに抽出する

    VB5でデータを添え字を使って1バイトごとに抽出するプログラムを書きました。(For i = 1 To 128 Get #1,,Bwk(i) Next i) ←このプログラムをVBAで使いたいのですが、VB5と同じでいいですか?あと、これで1バイトごとに抽出できているでしょうか?

  • VB2005を使ってバイナリファイルの中身をHEX変換してテキスト表示したい。

    VBは初心者ですが、以下のような事をVB2005を使って実現したいのですが、参考コーディングがありましたら教えて下さい。 ・バイナリファイルファイルの中身を可変の長さ(オープン時に変換の長さは決定している)をHEXに変換してテキスト表示したい。

  • テキストファイルのデータからバイナリを作りたい

    現在、テキストデータとしてCSVファイル1つあたり8バイトのデータが1000個ほどのデータが書かれているファイルがあります。このデータをバイナリファイルへ数値も変換して行きたいと思っています。 たとえば1個目のデータ”12345678”というテキストデータをバイナリの"12345678"に変換したらそれを0x00番地に並べて、そして2個目のデータ”87654321”というデータをバイナリにしたらそれを0x90離れた場所に置いていき、それを1000回繰り返して、結果をバイナリファイルで出力したいのですが、何か簡単にできるフリーソフトなどありませんでしょうか? また、プログラムとかでも簡単にできるのならそうしたいのですが、どうしたらよいか教えていただけないでしょうか?

  • テキストデータをそのままバイナリへ

    初心者です。 テキストデータ(ASCII)として取り込んだ 「05 50 0E」 といった文字列を そのままバイナリデータ(16進)としての 「05 50 0E」 に変換したいのですが、こういった処理をする関数ってあるでしょうか? もしなければ作ってみたいのですが、その際の考え方や有用な関数などありましたら教えていただけると嬉しいです。

  • VBAでバイナリエディタを作ろうとしています

    テキストファイルを内部でバイナリとして開いて 16進数のダンプファイルとして新たなテキストに保存することはできたのですが 逆がどうしてもできません。 やり方としては、 03 E3 BD 71 80… のようなテキストデータをバイナリにして16進数にして保存したテキストファイルをダイアログから呼び出してもう一度元のテキスト文章に戻すという作業です。 とりあえず、まずは以下のコードでエクセル内で16進数を元の文章データに変換しようとしています。 Sub binaryToText() Dim fname As String Dim str() As Byte Dim row As Integer row = 1 fname = "Test.txt" '16進数ファイル Open fname For Binary As #1 Do Until EOF(1) ReDim Preserve str(row) Get #1, , str(row) row = row + 1 Loop Close #1 End Sub hex関数やchr関数を使う必要があるのでしょうか? VBAは始めたばかりで根本的なところで間違っているかもしれませんがよろしくお願いします。

  • VBAでバイナリデータが上手く読めない。

    VBAでバイナリデータが上手く読めない。 もともとC言語でバイナリデータを加工していた事をVBAでやる事になったのですが、上手く読めない。 <VBA> Open inputFileName For Binary As #mFileNo のようにオープンして、 <VBA> Dim a(800) As Byte Get #1, , a のように記述すればC言語のように取得出来ると思ったのですが、上手く取得出来ません。 なんとなく分かった事ですが、800バイトの中に改行文字があった場合、そこまでを変数aに入れるようにすると出来そうなので、Getで改行コードがあった場合はそこまでを読み込むみたいな手段はありますでしょうか。inputだとデータがまったく見れませんでしたのでGetにて対応したいと思っています。 宜しくお願い致します。

  • テキストファイルをバイナリファイルに変換

    -32768, -32768, -32768, -32768, -32768, -32768, -32768, -32768, -32768, -32768, 130, 120, 120, 109, 100, 100, 94, 91, 90, 89, 87, -32768, 78, 71, … と続いていくテキストファイルのデータをバイナリデータにC言語で変換したいのですが、どうすれば変換出来るのでしょうか。

  • ACCESS VBA でのバイナリデータ操作について

    ACCESS VBA でのバイナリデータ操作について いつも参考にさせていただいております。ありがとうございます。 テキストファイルがあるとし、 日本語(UTF-16 BE)で   あいう というデータとします。 バイナリモードで確認すると、 30 42 30 44 30 46 と表示されます。 この文字コードを使って文字を生成したいのですが、 http://support.microsoft.com/kb/404928/ja 上記を参照し、 ByteData = InputB(6, #1) ChrB(cint("&H" & Hex(ByteData(1)))) & ChrB(cint("&H" & Hex(ByteData(0)))) という方法で「あ」を生成させることはできたのですが、 全角空白があった場合、ただしくコードを取得させることができません。 たとえば、「あ う」(←[あ]と[う]の間が全角空白です)の場合、 バイナリモードで確認すると、 30 42 30 00 30 46 なのですが、「00」を取得することができず、 hex(ByteData(0)) = 30 hex(ByteData(1)) = 42 hex(ByteData(2)) = 30 hex(ByteData(3)) = 30 hex(ByteData(4)) = 46 となってしまいます。 なぜなのでしょうか? また、他によい方法はありますでしょうか? ご指導よろしくお願いいたします。

  • バイナリデータをテキストデータに変換

    生データ(バイナリデータ)をテキストデータに変換するプログラムを教えてください。

  • C#でバイナリデータをテキストフォームへ表示させるには?

    C#でバイナリデータをテキストフォームへ表示させるには? C#でバイナリファイルをテキストへ変換するツールを作成しています。 バイナリデータを配列へ格納し、その配列をテキスト変換してテキストフォームへ出力させるという処理を作成したいのですが、どうすれば良いのかどうしてもわかりません。 どのようなコードをどのようにして書けばよいのか、ご教示いただけないでしょうか。 よろしくお願いします。 (ちなみにC#を始めて1週間ほどです)