
No.4ベストアンサー
- 回答日時:
#3 です。
失礼。#3 だと Tab と Enter まで入力できないので、以下に差し替えます。
blnFlag = ((KeyCode >= 48) * (KeyCode <= 57)) _
+ ((KeyCode >= 96) * (KeyCode <= 105)) _
+ (KeyCode = 8) + (KeyCode = 13) + (KeyCode = 9)
> IMEModeを「8-fmIMEModeAlpha」
これだと入力モードの変更が可能なので、3-fmIMEModeDisable にしといた方が
良いかと思います。
No.3
- 回答日時:
こんにちは、KenKen_SP です。
こんな感じで KeyDown イベントを使えば可能だと思います。
Private Sub TextBox1_KeyDown( _
ByVal KeyCode As MSForms.ReturnInteger, _
ByVal Shift As Integer)
Dim blnFlag As Boolean
blnFlag = ((KeyCode >= 48) * (KeyCode <= 57)) _
+ ((KeyCode >= 96) * (KeyCode <= 105)) _
+ (KeyCode = 8)
If Not blnFlag Then
KeyCode = 0
End If
End Sub
半角数字と Back Space しか受け付けません。Excel ユーザーフォーム
なら、この方法で Ctrl + V が抑止できますし、右クリックメニュー
は最初から表示されませんので、コピペは不可能です。
この方法で十分だと思いますが、ユーザーによる手動の入力を抑止して
いるだけで、完全に半角数字以外の入力を抑止しているわけではありま
せん。(プログラムからは入力可能とか)
念を入れるなら、Lost イベント等で入力値のチェックも行います。
No.2
- 回答日時:
お世話になります。
残念ながら KeyPress だけだと、コピペされたときには操作内容によっては
発生しないイベントなので確実とは言いがたいです。
(私もかつて悩んだ経験があります)
なので、確実なのは LostFocus とかになると思うのですが、
入力時に省かせたいというのであれば
Key...系イベント(Down とか Press とか)も LostFocusも
どちらからも呼べるようなメソッドを作成すれば
万全かと思います。
参考URL:http://homepage1.nifty.com/rucio/main/technique/ …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
Access フォームのテキストボックスに半角英字のみで入力する設定は
Access(アクセス)
-
InputBoxの入力値を半角数字のみと限定する方法
Excel(エクセル)
-
-
4
VBA エンターキーでイベントに入りたい。
PowerPoint(パワーポイント)
-
5
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
6
エクセルVBA テキストボックスに3桁ごとにコンマ
Visual Basic(VBA)
-
7
UserForm1.Showでエラーになります。
工学
-
8
ExcelVBAのユーザーフォームの中に線を引きたい
Visual Basic(VBA)
-
9
VBA:ユーザーフォームのマルチページに色を付けたい。
Word(ワード)
-
10
エクセルVBAでUserFormを起動した時
Excel(エクセル)
-
11
テキストボックスのvalueとtextの違い
Visual Basic(VBA)
-
12
ExcelVBAで今開いているユーザ情報を取得できますか?
Visual Basic(VBA)
-
13
access テキストボックスの値取得
Access(アクセス)
-
14
エクセルVBAでマルチページの切り替え方法の件で
Excel(エクセル)
-
15
ExcelVBAでテキストボックスの表示形式を小数点第二位まで表示する方法
Visual Basic(VBA)
-
16
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
17
エクセルファイルを開く時、常に同じシートから開くようにするには?
Windows Vista・XP
-
18
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
19
VBA。複数のChangeイベントをまとめる方法
Visual Basic(VBA)
-
20
別のユーザーフォームのコマンドボタンを押す
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストボックスの入力制限
-
ハイフンとマイナス
-
VB2005 TextBoxに何も入力しな...
-
VBAのTextBoxに半角数字のみ入...
-
入力フォーム(電話番号)
-
至急です。Yahoo!IDを作りたく...
-
海外 スマホ
-
ネット内で「事後通販」という...
-
Amazonについてです。 アカウン...
-
カードの請求でApple.combillみ...
-
STEAMでゲームを購入したところ...
-
クレジットカードの名義人の入...
-
読み方教えてください
-
ゲームで課金したらAppleID情報...
-
【YAHOO JAPAN】 ...
-
アマゾン商品支払い
-
二重払いではないのか。
-
服を買いましたがサイズが合わ...
-
第5人格の体験分割みたいなも...
-
至急です。クロネコメンバーズ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAのTextBoxに半角数字のみ入...
-
ハイフンとマイナス
-
入力フォーム(電話番号)
-
「FROM 句の構文エラーです」が...
-
VB2005 TextBoxに何も入力しな...
-
テキストボックスの入力制限
-
scanf( )で日本語を入力する方...
-
TextBoxに半角数字のみの入力し...
-
WinAPIで日本語入力モード(倍...
-
教えて!全角文字「μ」の半角文...
-
VAB プログラムが動きません。
-
1ページだけ入力してもらって...
-
VB.net テキストボックスの入力...
-
VisualStudioのインテリセンス
-
VISAカードの会員番号とは??
-
フォーム入力の際、電話番号等...
-
imode用の郵便番号検索CGI
-
全角英数について。
-
VBS 条件中の条件
-
単純なコマンドプロンプトが動...
おすすめ情報