投稿者 ヤマダ  (学生) 投稿日時 2023/1/27 14:41:25
すみません。
続けてここに質問してよいのかわかりませんが、させていただきます。
以下のようにchg_kana_name の値を左から順に半角判定をして半角の場合はfnc_chg_Kanaという関数でアルファベットに変換するという処理のつもりでプログラムしたのですが、test の値がずっと63で値が変化しません。文字が変われば値が変化していくと思ったのですが、どこが問題の箇所を教えていただきたいです。
よろしくお願いいたします。

chg_kana_name = "テスト セイト"
Do Until chg_kana_name = ""

 Dim test As Byte()
 Erase test
 test = System.Text.Encoding.GetEncoding("ASCII").GetBytes(Left(chg_kana_name, 1))

 If test(0) >= &HA0 Or test(0) <= &H1F Then
  w_fullname = w_fullname & "?"
  chg_kana_name = Mid(chg_kana_name, 2, Len(chg_kana_name))
  Continue Do
 End If

 w_fullname = w_fullname & fnc_chg_Kana(Left(chg_kana_name, 1))
  '変換した文字列分、元の文字列を削る
 chg_kana_name = Mid(chg_kana_name, 2, Len(chg_kana_name))

Loop