【VBScript】全角を半角に、半角を全角に変換する
全角を半角に変換する
VBScriptで、文字列の全角を半角に変換する方法です。
'================================
' 関数部分
'================================
Const SHIFT_CODE = &H7DE1
'指定した文字列の全角英数を半角に変換して返す
Function StrConvNarrow(strWide)
Dim length, index, retStr, retChar, tempChar, tempCode
retStr = ""
StrConvNarrow = retStr
length = Len(strWide)
For index = 1 To length
tempChar = Mid(strWide, index, 1)
tempCode = Asc(tempChar)
If (tempCode >= &H824F And tempCode <= &H8258) Or _
(tempCode >= &H8260 And tempCode <= &H8279) Then
retChar = Chr(tempCode + SHIFT_CODE)
ElseIf tempCode >= &H8281 And tempCode <= &H829A Then
retChar = Chr(tempCode + SHIFT_CODE - 1)
Else
retChar = tempChar
End If
retStr = retStr & retChar
Next
StrConvNarrow = retStr
End Function
'================================
' 上の関数の実行例
'================================
msgbox StrConvNarrow("abcde") 'abcde
半角を全角に変換する
VBScriptで、文字列の半角を全角に変換する方法です。
'================================
' 関数部分
'================================
Const SHIFT_CODE = &H7DE1
'指定した文字列の半角英数を全角に変換して返す
Function StrConvWide(strNarrow)
Dim length, index, retStr, retChar, tempChar, tempCode
retStr = ""
StrConvWide = retStr
length = Len(strNarrow)
For index = 1 To length
tempChar = Mid(strNarrow, index, 1)
tempCode = Asc(tempChar)
If (tempCode >= &H30 And tempCode <= &H39) Or _
(tempCode >= &H41 And tempCode <= &H5A) Then
retChar = Chr(tempCode - SHIFT_CODE)
ElseIf tempCode >= &H61 And tempCode <= &H7A Then
retChar = Chr(tempCode - SHIFT_CODE + 1)
Else
retChar = tempChar
End If
retStr = retStr & retChar
Next
StrConvWide = retStr
End Function
'================================
' 上の関数の実行例
'================================
msgbox StrConvWide("abcde") 'abcde
このサイトで使っている関数は、
このサイトで紹介されていたのを使用しています。