- ベストアンサー
ひらがな専用入力エリアのチェック
VBで画面を作っていて、ちょっと疑問にブチ当たりました(汗) とあるテキストボックスがあり、入力された内容についてチェックを行いたいんですが・・・。 ・全角ひらがなで入力されているかどうかをチェック。 ・全角カタカナはOK ・全角スペースもOK 上記以外の漢字や数字・記号はエラー(メッセージ表示)にしたいのですが、 それっぽい関数も見当たらないため、どのようにしたらよいのか悩んでいます。 なお、未入力のチェックは別処理にて実施済みです。 何か良い方法があれば教えてくださいm(_ _)m
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。maruru01です。 強引に関数を作ってみました。 1文字でも全角ひらがな・カタカナ・スペース以外があった場合にFalseを返します。 Private Function myCheck(Str As String) As Boolean Dim temp As String Dim i As Long myCheck = True For i = 1 To Len(Str) temp = Mid(Str, i, 1) '全角チェック If temp <> StrConv(temp, vbWide) Then myCheck = False Exit Function End If 'ひらがな、カタカナスペースチェック If (temp = StrConv(temp, vbHiragana)) And (temp = StrConv(temp, vbKatakana)) And (temp <> " ") Then myCheck = False Exit Function End If Next i End Function
その他の回答 (1)
- happypoint
- ベストアンサー率36% (521/1422)
テキストボックスの文字列を取得して、 文字列の長さを取得する。 最初の文字から1文字ずつ切り出して、 それぞれの文字のコードが「ひらがな」のコード範囲に収まっているかチェック これを最後の文字までループして繰り返す ひらがな以外の文字があったら、 フラグをたてるなり、ループを抜けるなりして、警告メッセージを表示 という手順になるでしょうか。 あとはこれを別ルーチンにして呼び出す形にすれば、 他のコントロールからも使えてもっといいですね。
お礼
早速の回答ありがとうございます。 #1の方に回答していただいたように関数を作ればよいみたいです。 確かに、他のコントロールでも使えるようにした方が 今後の展開としても都合がよさそうなので、 そのようにしていきたいと思います。 どうもありがとうございました。
お礼
早速の回答ありがとうございます。 StrConvを利用して関数化すればよかったんですねぇ^^; さっそく組み込んで動作確認してみたところ完璧でした。 更に有効活用できるよう、もう少し勉強してみようと思います( ..)ヾ