※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

#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
|新しいページ|検索|ページ一覧|RSS|@ウィキご利用ガイド | 管理者にお問合せ
|ログイン|
メニュー






トータルアクセス数: -
今日のアクセス数: -