- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBSでNull文字を半角スペースへ置換)
VBSでNull文字を半角スペースへ置換する方法
このQ&Aのポイント
- VBSでNull文字を半角スペースへ置換する方法についてお知恵を頂きたいです。バイナリデータを文字列として取得する際に、Scripting.FileSystemObjectを使用して1行目は取得できるのですが、2行目がNull文字で読み込めずに[]となってしまいます。
- 解決策として、ADODB.streamを使用してNull文字を半角スペースへ置換しようとしていますが、データの比較部分で躓いています。
- 具体的には、ary1配列にデータを格納する際に、Null文字の場合は半角スペースに置換したいのですが、どのようにすれば良いか分かりません。ご教授頂けると助かります。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
読み込みの処理がなかったので勝手に追加しました。 Dim strm Set strm = CreateObject("ADODB.stream") strm.Open strm.Type = 1 strm.LoadFromFile (FilePath) Dim buf'読み込み用 buf = strm.Read(32)'読み込み Dim b'1バイト用 Dim ary1() ReDim ary1(31) Dim i For i = 0 To 31 b = AscB(MidB(buf, i + 1, 1))'1バイト取得して数値に変換 If b <> 0 Then '←変換した数値がゼロでないかどうか ary1(i) = b'←そのままの値 Else ary1(i) = 20 '半角スペース End If Next
お礼
dell_OK様 早速のご教授ありがとうございます。 Dim buf'読み込み用 buf = strm.Read(32)'読み込み b = AscB(MidB(buf, i + 1, 1))'1バイト取得して数値に変換 If b <> 0 Then '←変換した数値がゼロでないかどうか ary1(i) = b'←そのままの値 この情報でもう少し試行錯誤してみます。 又質問させていただく際にはよろしくお願いいたします。 本当にありがとうございました。