vbaで英字か空白を含む文字列であるか否かを判定するコードを考えてみた。
Function IsAlphabet(str As String) As Boolean Dim objReg As Object Set objReg = CreateObject("VBScript.REgExp") objReg.IgnoreCase = True '大文字と小文字を区別しない objReg.Pattern ="^[a-zA-Z a-zAZ ]+$ IsAlphabet = objREg.test(str) '英字か空白ならばTrue そうでなければFalse Set objReg = Nothing End Fuction或いは、以下のコード。
Function IsAlpha(str as String) As boolean If str ="" then IsAlpha = False Exit Fuction End if IsAlpha = Not str Like"*[!a-zA-Z a-zAZ ]*" End Functionで、これを何に使うのかというと、例えば、名前に英字が使われていれば、外国人の名前か否かの判定に使える。 ま、パーフェクトではないが、大体それでOKといういう場合に使える。完璧を求めると、大変なので、これぐらいで手を打とうという時に使う。
0 件のコメント:
コメントを投稿