漢字を入力してコードを取得したいと思ってます。
魔界の仮面弁士様が提示されていました
With CreateObject("ADODB.Stream")
.Charset = "euc-jp"
.Open
.WriteText "東京"
.SaveToFile "C:\Temp"
.Close
End With
でファイルに書込むことはできました。
東京=C5EC B5FE
はバイナリーエディタで確認でき、目的を達成したのですが
コードを文字列で取得したいです。
ファイルの読み方が、わかりませんのでご教示お願いしたく投稿しました。
またこの変換はファイル経由でないと無理なのでしょうか?
"東京" → "C5ECB5FE" となれば理想なのですが・・・・。
よろしくお願いします。
> コードを文字列で取得したいです。
つまり、
Text1.Text = "C5ECB5FE"
のようなデータでしょうか?
> またこの変換はファイル経由でないと無理なのでしょうか?
Stream を直接読み取れば OK です。
Option Explicit
Private Sub Form_Load()
Text2.Locked = True
End Sub
Private Sub Text1_Change()
Text2.Text = ""
If Text1.Text = "" Then
Exit Sub
End If
Dim byteArray() As Byte
With CreateObject("ADODB.Stream")
.Charset = "euc-jp"
.Open
.WriteText Text1.Text
.Position = 0
.Type = 1
byteArray = .Read()
.Close
End With
Dim v As Variant
For Each v In byteArray
Text2.SelText = Right("00" & Hex(v), 2)
Text2.SelStart = Len(Text2.Text)
Next
End Sub
魔界の仮面弁士様
ありがとうございました。
byteArray = .Read()と、Right("00" & Hex(v), 2)
が、ポイントだったんですね。
特にRight("00" & Hex(v), 2)は自分の実力不足を痛
感しました。
.Read()は皆目想像できませんでした。ぐぐりかたも
もっと勉強しないといけませんね。
ほんとうにありがとうございました。