VB(VBA)で、バイナリデータを使ってテキストファイルを作成したいの
VB(VBA)で、バイナリデータを使ってテキストファイルを作成したいのですが、
例えば、"A"が一文字のみのShift-JIS もしくはunicodeのテキストファイルを作るため、
(下記の確認はShift-jis で行っています。)
Dim ByteData As Byte
ByteData = AscW("A")
Open "C:\A.txt" For Binary Access Write As #1
Put #1, 1, ByteData
Close #1
としました。
できあがったファイルをバイナリエディタで確認すると、
41
となっています。
(Unicode は 41 00 2バイト文字でリトルエンディアンのため)
この41は、"A" の文字コード(Shift-JIS)「65」の16進表記です。
この「41」という値を使ってバイナリモードでテキストファイルを作成したいのですが、
どのようにすればよいでしょうか?
上記
Put #1, 1, ByteData
の部分を、
1.Put #1, 1, 41
としたところ、通常表示はできないファイルができあがったみたいです。
バイナリモードで 「29 00 20 20」でした。
文字コード00 に該当する文字がないためだと思います。
2.Put #1, 1, "41"
としたところ、「41 」(バイナリモードで 「34 31 20 20」)
(41の後ろは半角空白)
で×でした。
3.Put #1, 1, CLng("&H" & 41)
としたところ、通常表示はできないファイルができあがったみたいです。
バイナリモードで 「41 00 00 00」でした。
4.ByteData = CLng("&H" & 41)
Put #1, 1, ByteData
これでやっとできました。
この他にも方法があるのか?と思い、質問させていただきました。
ご指導よろしくお願いいたします。