「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{ カテゴリ: &#x5b;[[文字列>VBS/カテゴリ/文字列]]&#x5d; - &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{ カテゴリ: &#x5b;[[文字列>VBS/カテゴリ/文字列]]&#x5d; - &trackback() - 2005年11月12日 19:19:29 } #blognavi

表示オプション

横に並べて表示:
変化行の前後のみ表示:
記事メニュー
目安箱バナー