
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(エクセル)
-
InputBoxの入力値を半角数字のみと限定する方法
Excel(エクセル)
-
Access フォームのテキストボックスに半角英字のみで入力する設定は
Access(アクセス)
-
-
4
エクセルVBA テキストボックスに3桁ごとにコンマ
Visual Basic(VBA)
-
5
VBA エンターキーでイベントに入りたい。
PowerPoint(パワーポイント)
-
6
テキストボックスのvalueとtextの違い
Visual Basic(VBA)
-
7
ExcelVBAで今開いているユーザ情報を取得できますか?
Visual Basic(VBA)
-
8
access テキストボックスの値取得
Access(アクセス)
-
9
UserForm1.Showでエラーになります。
工学
-
10
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
11
ExcelVBAのユーザーフォームの中に線を引きたい
Visual Basic(VBA)
-
12
エクセルVBAでマルチページの切り替え方法の件で
Excel(エクセル)
-
13
ExcelVBAでテキストボックスの表示形式を小数点第二位まで表示する方法
Visual Basic(VBA)
-
14
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
15
エクセルVBAでUserFormを起動した時
Excel(エクセル)
-
16
Vba テキストボックス文字を右端から配置していく方法
Visual Basic(VBA)
-
17
全てのオブジェクトのプロパティーを一気に変更する方法
Visual Basic(VBA)
-
18
VBA:ユーザーフォームのマルチページに色を付けたい。
Word(ワード)
-
19
エクセルファイルを開く時、常に同じシートから開くようにするには?
Windows Vista・XP
-
20
テキストボックス入力後、警告メッセージを表示し、フォーカスを移動させない方法について
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB2005 TextBoxに何も入力しな...
-
ハイフンとマイナス
-
VB.net テキストボックスの入力...
-
入力フォーム(電話番号)
-
至急です。Yahoo!IDを作りたく...
-
カードの請求でApple.combillみ...
-
ネット内で「事後通販」という...
-
キャンバ 年間契約
-
海外 スマホ
-
「国際版の定額小為替」を英語...
-
AMAZONでエロゲーの購入
-
第5人格の体験分割みたいなも...
-
agodaで現地決済にしたのにカー...
-
先日、ナイトアイボーテという少...
-
バイクの自賠責をau pay(簡単...
-
MinecraftのPC版を購入しようと...
-
Amazon プライムに誘導されない...
-
winzipの削除
-
Amazonについてです。 アカウン...
-
三井住友銀行オリーブアカウン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ハイフンとマイナス
-
VBAのTextBoxに半角数字のみ入...
-
TextBoxに半角数字のみの入力し...
-
VB2005 TextBoxに何も入力しな...
-
入力フォーム(電話番号)
-
テキストボックスの入力制限
-
VB.net テキストボックスの入力...
-
教えて!全角文字「μ」の半角文...
-
scanf( )で日本語を入力する方...
-
コンパイルについて。
-
あるわけないと思いますが
-
フォーム入力の際、電話番号等...
-
同名の登録を防ぐ
-
VBS 条件中の条件
-
Cを勉強している友人からこん...
-
メールが送れません
-
バッチの引数をユーザ入力で渡...
-
ショートメールの文字入力
-
至急です。Yahoo!IDを作りたく...
-
キャンバ 年間契約
おすすめ情報