- ベストアンサー
全角文字だけ抜き出したい
例えばAccessのテーブルのあるフィールドに、次の様な全角文字と半角文字が混在している文字列があったとします。 ================ 南下a-125-00SP PPP感化S-12345 堂都下125+333 ================ ここから別にフィールドを設けて下記の様に全角文字部分のみ抜き出す方法は無いでしょうか? ================ 南下 感化 堂都下 ================ 式でもVBAでも結構です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。maruru01です。 文字コード0~255が半角なのでそれを利用します。 なお、エラートラップは自分で付けて下さい。 Private Function GetOnlyZenkaku(Str As String) As String Dim i As Long Dim Chr As String Dim temp As String temp = "" For i = 1 To Len(Str) Chr = Mid(Str, i ,1) If Asc(Chr) < 0 Or Asc(Chr) > 255 Then temp = temp & Chr End If Next i GetOnlyZenkaku = temp End Function
その他の回答 (1)
- mantaro1
- ベストアンサー率48% (19/39)
簡単にする方法が思いつかなかったので、とりあえず関数を作成してみました。 全角にして一文字づつキャラクターコードを比較しています。 Function sGetZenkaku(sMoji As String) As String Dim iLen As Integer, i As Integer Dim sIc As String iLen = Len(sMoji) For i = 1 To iLen sIc = Mid(sMoji, i, 1) If Asc(sIc) = Asc(StrConv(sIc, vbWide)) Then sGetZenkaku = sGetZenkaku & sIc End If Next i End Function
お礼
なるほど、判りました。ありがとうございます。
お礼
ありがとうございます。お二人の回答をいただきどちらも出来るんでポイントをどうしようと困ってしまいました。どちらかというと、このコーディングのほうが、私にはわかりやすかったです。