全角文字だけ抜き出したい
例えばAccessのテーブルのあるフィールドに、次の様な全角文字と半角文字が混在している文字列があったとします。
================
南下a-125-00SP
PPP感化S-12345
堂都下125+333
================
ここから別にフィールドを設けて下記の様に全角文字部分のみ抜き出す方法は無いでしょうか?
================
南下
感化
堂都下
================
式でもVBAでも結構です。
回答(2件)
- 最新から表示
- |
- 回答順に表示
- |
- ベストアンサーのみ表示
No.2ベストアンサー20pt
こんにちは。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
この回答へのお礼
ありがとうございます。お二人の回答をいただきどちらも出来るんでポイントをどうしようと困ってしまいました。どちらかというと、このコーディングのほうが、私にはわかりやすかったです。
No.1ベストアンサー10pt
簡単にする方法が思いつかなかったので、とりあえず関数を作成してみました。
全角にして一文字づつキャラクターコードを比較しています。
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
この回答へのお礼
なるほど、判りました。ありがとうございます。
- 最新から表示
- |
- 回答順に表示
- |
- ベストアンサーのみ表示











