• ベストアンサー

ひらがな専用入力エリアのチェック

VBで画面を作っていて、ちょっと疑問にブチ当たりました(汗) とあるテキストボックスがあり、入力された内容についてチェックを行いたいんですが・・・。 ・全角ひらがなで入力されているかどうかをチェック。 ・全角カタカナはOK ・全角スペースもOK 上記以外の漢字や数字・記号はエラー(メッセージ表示)にしたいのですが、 それっぽい関数も見当たらないため、どのようにしたらよいのか悩んでいます。 なお、未入力のチェックは別処理にて実施済みです。 何か良い方法があれば教えてくださいm(_ _)m

質問者が選んだベストアンサー

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。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

jo_
質問者

お礼

早速の回答ありがとうございます。 StrConvを利用して関数化すればよかったんですねぇ^^; さっそく組み込んで動作確認してみたところ完璧でした。 更に有効活用できるよう、もう少し勉強してみようと思います( ..)ヾ

その他の回答 (1)

  • happypoint
  • ベストアンサー率36% (521/1422)
回答No.2

テキストボックスの文字列を取得して、 文字列の長さを取得する。 最初の文字から1文字ずつ切り出して、 それぞれの文字のコードが「ひらがな」のコード範囲に収まっているかチェック これを最後の文字までループして繰り返す ひらがな以外の文字があったら、 フラグをたてるなり、ループを抜けるなりして、警告メッセージを表示 という手順になるでしょうか。 あとはこれを別ルーチンにして呼び出す形にすれば、 他のコントロールからも使えてもっといいですね。

jo_
質問者

お礼

早速の回答ありがとうございます。 #1の方に回答していただいたように関数を作ればよいみたいです。 確かに、他のコントロールでも使えるようにした方が 今後の展開としても都合がよさそうなので、 そのようにしていきたいと思います。 どうもありがとうございました。

関連するQ&A