VB 英数記号空白の半角変換2007年05月02日 14時17分46秒

Function F_半角変換(Pm_Data) As String '数字記号をすべて半角にする On Error GoTo F_半角変換_Err

   
   Dim i
   Dim Wk_AData() As String
   
   ReDim Wk_AData(Len(Pm_Data))
   
   For i = 1 To Len(Pm_Data)
       Select Case AscW(Mid(Pm_Data, i, 1))
           Case -32 To -27, -255 To -162, 12288 '空白も含む
               Wk_AData(i) = StrConv(Mid(Pm_Data, i, 1), vbNarrow)
           Case Else
               Wk_AData(i) = Mid(Pm_Data, i, 1)
       End Select
   Next i
   
   F_半角変換 = Join(Wk_AData, "")

F_半角変換_Exit:

   Exit Function

F_半角変換_Err:

   MsgBox Err.Description
   F_半角変換 = Pm_Data
   Resume F_半角変換_Exit

End Function