はじめて質問させていただきます。
現在、VB2005を使ってプログラムを組んでいるのですが、半角カタカナだけをTextBoxに入力し、表示する方法がわかりません。
Private Sub TextBox6_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox6.KeyDown
TextBox6.ImeMode = Windows.Forms.ImeMode.KatakanaHalf
End Sub
Private Sub TextBox6_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox6.KeyPress
If (e.KeyChar < "ア"c Or e.KeyChar > "-"c) And e.KeyChar <> vbBack Then
e.Handled = True
End If
End Sub
↑見にくいかもしれませんがコードです。
この方法ではだめなのでしょうか?
回答をお願いします
No.3ベストアンサー
- 回答日時:
回答2のdevilconanです。
追記しておきます。ネットでサクッと調べてみました。
このコードを入れてみてはいかがでしょうか?
私の環境ではうまくいきましたんでたぶん大丈夫だと思います。
テキストボックス(今回ならtextbox6かな?)のキープレスイベントを追加して
Dim CharTable As String = "アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲン"
If InStr(CharTable, e.KeyChar) = 0 Then
e.Handled = True
End If
を入れてみて下さい。
devilconan様
ありがとうございます。
おかげさまで思った通りのプログラムが作成できました!
本当にありがとうございました!
No.2
- 回答日時:
回答1のdevilconanです。
追記しておきます。コードで書くのであれば、キープレスやキーダウンイベントではなく、formのロードイベントに書けば半角カナで動くと思いますよ。
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
TextBox1.ImeMode = Windows.Forms.ImeMode.KatakanaHalf
End Sub
この回答への補足
devilconan様
ありがとうございます。
おっしゃられた通りのコードでちゃんと入力することができました。
すみませんがあと一つだけ質問させてください。
いろいろとテストデータをつくってみたのですが、/や*などの記号も入ってしまうことがわかりました。
これらの記号も入力できないようにする方法はあるんでしょうか?
本当に何度も質問してしまいすみません・・・
No.1
- 回答日時:
これってWindowsアプリケーションでいいんですよね?WebだとJavascriptを使うとは思ったら良かったと思います。
(うるおぼえですが・・)私はデザインビューからtextboxのプロパティでImeModeをKatakanaHalfに変更したらできました。
特にコードは書いてません・・。
ちなみに環境はvs2008です。
この回答への補足
devilconan様
回答ありがとうございます。
おっしゃられる通りWindowsアプリケーションで作成しています。すみません。
プロパティの件は最初からやっていました。
捕足になるかもしれませんが、このコードだと入力する際に半角カタカナを入力はできるのですが、Enterを押すとTextBoxの中身が消えてしまいます。
これはどうしてなんでしょうか?
コードの
If (e.KeyChar < "ア"c Or e.KeyChar > "-"c) And e.KeyChar <> vbBack Then
の部分で文字の指定(半角カタカナのみ)をしているのですがこれが間違っているのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Visual Basic(VBA) EXCELのセル相互同期用のVBAでの不具合 3 2022/08/10 11:44
- Visual Basic(VBA) 九九の答えの計算 3 2022/12/20 22:13
- Visual Basic(VBA) Visual Basic : ImageListの画像がそろったときにメッセージを表示 1 2023/07/20 13:53
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
- Visual Basic(VBA) エクセルVBA ダブルクリックしたら色反転を指定したセルのみにしたい 2 2022/04/06 12:52
- Visual Basic(VBA) Excelにて、シート1の行を削除するとシート2のシート1と同じ番号の行も削除したい 3 2022/05/08 04:24
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Exel VBA 別ブックから該当デ...
-
chatgptでつくってもらったコー...
-
1、Rstudioで回帰直線を求める...
-
pythonにてseleniumを使うも、...
-
パイソンプログラム
-
ExcelのVBAコードについて教え...
-
コードを記入すると情報を出す方法
-
◾️Excel VBA 統合について Cons...
-
Microsoft Visual Studio Commu...
-
TVリモコン設定(SMILE KIDS)
-
JavaScriptの定数名が取り消し...
-
ExcelのVBAコードについて教え...
-
課題なのですがどなたかコード...
-
VB2005 RowFilterのパラメータ...
-
sinカーブの表示のさせ方
-
AccessでReplace関数を使うときに…
-
フィルターかけた後、重複を除...
-
Gitのクローンについて
-
VBA:テキストファイルの抽出に...
-
pythonで同じコード内で複数の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
pythonにてseleniumを使うも、...
-
ExcelのVBAコードについて教え...
-
access2003 クエリSQL文に...
-
1日に1人がこなせるプログラム...
-
ExcelのVBAコードについて教え...
-
Exel VBA 別ブックから該当デ...
-
chatgptでつくってもらったコー...
-
PreviewKeyDownイベントが2回...
-
JavaScriptの定数名が取り消し...
-
1、Rstudioで回帰直線を求める...
-
JANコードとPOSコードは同じ?
-
JavaScript|特定URLだった時、...
-
ACCESSユニオンクエリでORDER B...
-
特定行の背景色を変えたいのですが
-
変数名「cur」について
-
エクセルに見えない文字(JISX0...
-
COBOLの文法
-
Gitのクローンについて
-
Outlook VBAについて
おすすめ情報