• ベストアンサー

VBAでバイト型データをファイルとして保存

VBAで、バイト型のデータをファイルに保存したいのですが、 どうしたらよいのでしょうか? 例:strByte() As Byteという変数を作って、 この中にstrByte(0)からstrByte(20000)くらいまでの データが作成されます。 これをbytedata.xmlとして作成したいのです。 FileSystemObjectではテキストでないからなんか ダメなようですが。。 困っております。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.3

バイト配列にデータが出来上がっているのであれば必要な部分までにReDim Preserve で配列を切り詰めておいてBinaryモードで出力する といった手順で良いのではないですか? ReDim Preserve strByte(200) fn = FreeFile Open "samplexml" for binary as #fn Put #fn,,strByte Close #fn といった具合ですが … これだと具合が悪いのでしょうか?

suucha
質問者

お礼

できました! ありがとうございました!

その他の回答 (2)

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.2

xmlファイルにしたいとのことですが <item>Data</item> といったテキストデータにしたいってことですか?

suucha
質問者

補足

実際は、GoogleMapのデータをエクセルでデータを入力して、 エクセル上にボタンをはってそれを押せばGooglemap用の xmlデータを作成したいのです。 Googlemapで要求するxmlはUTF-8で保存したものを 要求しているので、このような質問をいたしました。 ですので、エクセルデータをいったんxmlの要求するフォーマット に加工して、その文字列をUTF-8で変換するまでVBA内で実現して おり、UTF-8変換後のデータはバイト型になるのです。 前は、xml文字列をテキストデータとして保存して、 terapadなどテキストエディタで開いて、文字コードを 変えて保存していました。 この手間を省くためにVBAで一気にできないかにトライして いて壁にあたった次第です。

  • dsuekichi
  • ベストアンサー率64% (171/265)
回答No.1

> VBAで、バイト型のデータをファイルに保存 VBAの標準ファイル操作機能を使って、 「Openステートメント」で、Binaryモードでファイルを開いて、 「Putステートメント」で書き込むとか・・・

関連するQ&A