さっぱり、方法が分からなくて困っています。
文字列に、シフトJISの外字コード領域(F040〜F9FC)の
文字が存在した場合に、全角スペースに置き換えるような処理を
VBで行いたいのですが、その方法をご存じの方がおられたら、
教えてください。
文字の文字コードがわかればいいんですよね?
こうすれば文字コードがわかります。
Private Sub Command1_Click()
MsgBox Hex(Asc(Text1.Text))
End Sub
あとは外字領域に入っていれば、Replaceすれば良いだけです。
簡単にはokuさんのでいいと思いますけど、1文字ずつとらないといけません。
わたしには、VBでそういうことのできる方法が思い当たりません…。
たぶん、VBで長くやっている人はすぐに思いつくことだと思いますけど、
あいにく、わたしはVBから離れてかなり経っているので…。
for ループを使えば何とかなりそうです。
そして、上位バイトが外字かもしれないのなら、次を調べるという方法で。
すいません説明不足でした。
たかみちえさんの言われるとおり1文字ずつとらないといけません。
まっ こんな感じでどうでしょう。
Private Sub Command1_Click()
Dim intIndex As Integer
Text2.Text = ""
For intIndex = 1 To Len(Text1.Text)
If "F040" <= Hex(Asc(Mid$(Text1.Text, intIndex, 1))) And _
Hex(Asc(Mid$(Text1.Text, intIndex, 1))) <= "F9FC" _
Then
Text2.Text = Text2.Text & " "
Else
Text2.Text = Text2.Text & Mid$(Text1.Text, intIndex, 1)
End If
Next intIndex
End Sub
okuさん・たかみちえさん ありがとうございました。
教えていただいた方法でやってみようと思います。