• ベストアンサー

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

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

  • jo_
  • お礼率100% (21/21)

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

  • ベストアンサー
  • 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

  • 全角漢字の入力チェック

    Javascriptにて、Formのテキストフィールドの内容を入力チェックしているのですが、「全角漢字」「全角かな」「全角カナ」「半角英数字」 のみを許可して、それ以外の入力文字をいれるとエラーになるような 関数を作りたいのですが、全角記号や半角記号をチェックするには どうしたらよいのでしょうか。

  • 文字の判定

     こんばんわ。早速ですが、VBにおいて入力、又は取り込んできたデータの文字(1文字)が全角文字(漢字・ひらがな・全角スペース等)か半角文字(半角カタカナ・半角スペース等)かをみわける関数ってあるのでしょうか?

  • 漢字を平仮名又はカタカナに

    タイトルのとおり,漢字を平仮名又はカタカナに変換したいのですが,どうしたらいでしょうか? テキストに漢字を入力したら、別のテキストに平仮名又はカタカナを自動でいれたいのですが・・・そういった関数とかはあるのでしょうか? どうかおしえてください

  • UWSCで全角(ひらがな、カタカナ漢字)を入力。

    UWSCで全角(ひらがな、カタカナ、漢字)をそのまま入力する必要があります。 UWSC起動後、テキストボックスやメモ帳などに日本語を入力出来るようにしたいのですが、「ふ」というのをHとUでキーボード入力せず、そのまま「ふ」と入力したいです。 もちろん漢字も同じで、「漢」であれば、K+A+N+SPACEなどで翻訳などせず、そのまま「漢」という文字列を入力出来るようにしたいです。 自分で調べた中では分からなかったため、皆様のお力をお貸しください。 以上、よろしくお願いいたします。

  • php言語の全角入力のチェック方法を教えてください

    php4ですけど、全角チェックに使える関数はありませんか? 人名チェックで使いたいんですけど、 漢字の可能性もあり、カタカナもあり、平がなもありますから、どうやってチェックをするか、ご存じの方がいっらしゃいましたら、どうぞお教え下さい。

    • ベストアンサー
    • PHP
  • 全角カタカナのチェック。

    VB2005環境です。 DataGridViewに、全角カタカナしか入力できない列を作りたいと 考えています。 CellEnterのイベントで、ImeModeをKatakanaにしていますが、 これでは変換することでカタカナ以外も入力が可能です。 テキストボックスのように、InputModeが指定できれば良いの ですが…。 全角カタカナかどうかチェックする方法、強制的に全角カタカナしか 入力できなくする方法はないものでしょうか? ご教授ください。

  • ひらがなが入力できなくなりました

    OSは95で、オフィス97を使っています。 普通エクセルなどで、ひらがなを入力したい時は、 ”半角/全角”を押せば”あ”になってひらがなを入力できますよね。 で、カタカナを入力したく、”半角/全角”を押して”カ”になってるのですが、 ローマ字入力すると、カタカナにならず、入力したままの英字になってしまいます。 知らないうちに何か設定を変えてしまったのでしょうか? それともIMEが壊れてしまったのでしょうか? 教えてください。

  • フォーム入力のチェック

    フォームの入力をCGI(Perl)でチェックするとき、 全角の漢字、カタカナ、ひらがなでの入力以外は禁止にしたいです。 どなたかいい方法をご存知でしょうか? とりあえず、現在は、 jcode.plで全角英数字⇒半角英数字に変換 フォームに入力された文字列を一文字(半角2文字)ずつ抽出して、 $a=~ s/([^\w ])/'%' . unpack("H2", $1)/eg; でエンコードしたものが%を含んでいるかどうかで判別してます。 でもこれだと全角英数字と半角英数字しかシャットアウトできません。 記号文字なども入力出来ないようにしたいです。 よろしくお願いします。

    • ベストアンサー
    • CGI
  • ひらがなに「ひらがな~」ボタンで切り替えできない

    こんばんわ 早速質問させて頂きます。 以前は半角英数字からひらがなの切り替えは「カタカナひらがなローマ字」ボタンを押すだけで、ひらがなに切り替えできていました。または「半角/全角漢字」で切り替えも可能でした。なのにかかわらず、OSを再インストールし直してから「カタカナひらがなローマ字」や「半角/全角漢字」を押しても何も変わらなくなってしましました(「半角/全角漢字」ボタンを押すと「‘」という文字が入力されます)。 ちなみにひらがなに切り替えるときはAlt+「半角/全角漢字」を押さなければならなくなりました。 この現象を元に直すにはどうすれば良いかご教授願います。 この他にも不可思議な現象が起きておりまして、以前@だったのが「になったり、同じく以前「だったのが」になったりもしております。 環境 windows vista キーボード DELL IME 2007

  • アルファベットキーでひらかな入力できない

    Windows Vista のOSでIMEを使用していたら、ある日突然アルファベットキーでひらかな入力する機能が働かなくなりました。つまり、半角全角キーを押すと、「あ」と下にアイコンが表示されてひらかな入力モードになるのですが、「A」キーを押すと「あ」でなく「ち」と入ります。つまりカタカナ入力モードになってしまうのです。漢字変換はしますが、カタカナ入力は不慣れなので困ります。どうしたら復旧できるでしょうか?

専門家に質問してみよう