tonton @Wiki

半角→全角変換

最終更新:

匿名ユーザー

- view
メンバー限定 登録/ログイン
#blognavi
VBSではStrConvが使えません。
Baspも使えない環境ではこれで半角→全角変換を。
ちょっと応用で全角→半角もできる。(こっちの方が簡単)



Function funcConv_ZenHan(sStr)
Dim sZenKana1
Dim sHanKana1
Dim sZenKana2
Dim sHanKana2
Dim sZenKana3
Dim sHanKana3
Dim sZenNum
Dim sHanNum
Dim sZenKigo
Dim sHanKigo
Dim StrBuf
Dim StrBuf2
Dim i
sZenKana1 = "ヲァィゥェォャュョッアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン"
sHanKana1 = "ヲァィゥェォャュョッアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン"
sZenKana2 = "ガギグゲゴザジズゼゾダヂヅデドバビブベボヴ"
sHanKana2 = "カキクケコサシスセソタチツテトハヒフヘホウ"
sZenKana3 = "パピプペポ"
sHanKana3 = "ハヒフヘホ"
sZenNum = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz "
sHanNum = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz "
sZenKigo = "!”#$%&’()*+,-./:;<=>?@[¥]^_`{|} ̄。「」、・ー゛゜"
sHanKigo = "!""#$%&'()*+,-./:;<=>?@[\]^_`{|}~。「」、・ー゙゚"
funcConv_ZenHan = ""
If Len(sStr) > 1 Then
	For i = 1 to Len(sStr)
		'一文字ずつ検索し、置き換える
		StrBuf = Mid(sStr, i, 1)
		If InStr(sHanKana1, StrBuf) <> 0 Then
			StrBuf2 = Mid(sStr, i, 2)
			If Right(StrBuf2,1)="゙" AND InStr(sHanKana2, StrBuf) <> 0 Then
				funcConv_ZenHan = funcConv_ZenHan & Mid(sZenKana2, InStr(sHanKana2, StrBuf), 1)
				i = i + 1
			ElseIf Right(StrBuf2,1)="゚" AND InStr(sHanKana3, StrBuf) <> 0 Then
				funcConv_ZenHan = funcConv_ZenHan & Mid(sZenKana3, InStr(sHanKana3, StrBuf), 1)
				i = i + 1
			Else
				funcConv_ZenHan = funcConv_ZenHan & Mid(sZenKana1, InStr(sHanKana1, StrBuf), 1)
			End If
		ElseIf InStr(sHanNum, StrBuf) <> 0 Then
			funcConv_ZenHan = funcConv_ZenHan & Mid(sZenNum, InStr(sHanNum, StrBuf), 1)
		ElseIf InStr(sHanKigo, StrBuf) <> 0 Then
			funcConv_ZenHan = funcConv_ZenHan & Mid(sZenKigo, InStr(sHanKigo, StrBuf), 1)
		Else
			funcConv_ZenHan = funcConv_ZenHan & StrBuf
		End If
	Next
Else
	funcConv_ZenHan = Str
End If
End Function


カテゴリ: [文字列] - &trackback() - 2005年11月12日 19:19:29

#blognavi
記事メニュー
目安箱バナー