• 締切済み

半長音(ー)及び半角文字を1バイトと取得する方法

VBScriptのLenB関数では、半角文字も2バイトと算出してしまうと聞きました。 半角文字、(現在すぐに対応したいのは半長音(ー))を1バイトと計算する方法がありましたら教えて下さい。 現在はWebを参考に下記の関数を使用したいと思っていますが、半長音(ー)は2バイトになってしまいます。 Function lngCnLen(strVal) Dim i, strChr lngCnLen = 0 If Trim(strVal) <> "" Then For i = 1 To Len(strVal) strChr = Mid(strVal, i, 1) '2バイト文字は+2 If (Asc(strChr) And &HFF00) <> 0 Then If Asc(strChr)=127 Then lngCnLen = lngCnLen + 1 End If Else lngCnLen = lngCnLen + 1 End If Next End If End Function

みんなの回答

回答No.2

#1です。 gooのシステムなのか全角にされちゃったけど ほげふがの後ろは「半長音です」

回答No.1

Option Explicit '参考 http://www.accessclub.jp/supbeg/131.html Function samplepro() MsgBox (Len("ABc")) '---A MsgBox (LenB("ABc")) '---B MsgBox (LenB(StrConv("ABc", vbFromUnicode))) '---C MsgBox (Len("ほげふがー")) MsgBox (LenB("ほげふがー")) '---B MsgBox (LenB(StrConv("ほげふがー", vbFromUnicode))) End Function

user10
質問者

お礼

アドバイスありがとうございます。 Accessではなく、VBScript言語を使用したASPページを作成しております。 良い方法はありますでしょうか??