「VBS/2005年11月12日/半角→全角変換」の編集履歴(バックアップ)一覧はこちら
「VBS/2005年11月12日/半角→全角変換」(2005/11/12 (土) 19:30:36) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
#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
#right{
カテゴリ: [[[文字列>VBS/カテゴリ/文字列]]] - &trackback() - 2005年11月12日 19:19:29
}
#blognavi
#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
#right{
カテゴリ: [[[文字列>VBS/カテゴリ/文字列]]] - &trackback() - 2005年11月12日 19:19:29
}
#blognavi
表示オプション
横に並べて表示:
変化行の前後のみ表示: