- ベストアンサー
テキストボックスに大文字を
テキストボックスのKeyPressイベントで テキストボックスに大文字を入れたいのですが、 入力の時に、shift+CapsLock(英数)ってすると、大文字がいれれるとおもうのですが、それを初期設定で制限することはできないのでしょうか?
- GERRARD
- お礼率9% (11/119)
- Visual Basic
- 回答数3
- ありがとう数1
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
テキストボックスに英小文字または英小文字混じりのストリングを入力しても、大文字にしてしまうのは下記で出来ました。 これを使えないでしょうか。ついでにエクセルでの関数は A1のセルに小文字があるとして、B1のセルに大文字で統一 するのは「=UPPER(”A1”)」ですね。 ----------------------- Private Sub Form_Click() ' Form1.Print UCase(Text1.Text) ’テストのためやってみたもの Text1.Text = UCase(Text1.Text) End Sub
その他の回答 (2)
- TAGOSAKU7
- ベストアンサー率65% (276/422)
テキストボックスに大文字しか受け付けないような属性にしてしまう方法もあります。 これで行うと、コピペで入力された半角小文字英数も大文字に変更をOS側で変換を行ってくれます。 詳細は参考URLを見てください。
- josyo_m
- ベストアンサー率63% (28/44)
お疲れ様です。 どのようなことを行いたいのかはよくわかりませんが APIでCaps Lockを強制的にOnにすることは出来ると思います。 以下の例は、フォームが起動する時に現在のCaps Lockの 値を見てOff状態なら強制的にOnにしています。 これに似たものを GotFocus イベントに入れると初期設定 のように見えるのではないでしょうか? Option Explicit '// API Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal BScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long) Private Declare Function GetKeyboardState Lib "user32" (pbKeyState As Byte) As Long Private Const VK_CAPITAL = &H14 Private Const KEYEVENTF_EXTENDEDKEY = &H1 Private Const KEYEVENTF_KEYUP = &H2 Private Sub Form_Load() Dim keys(0 To 255) As Byte '// Get KeyboardState GetKeyboardState keys(0) '// Caps Lock の状態を判断 If Not CBool(keys(VK_CAPITAL)) Then '// Caps Lock が点灯していない '// Caps Key を押したことにする keybd_event VK_CAPITAL, &H45, KEYEVENTF_EXTENDEDKEY Or 0, 0 '// Caps Key を離したことにする keybd_event VK_CAPITAL, &H45, KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0 Else '// Caps Lock が点灯している '// 何もしない End If End Sub 間違っていたらごめんなさい。
関連するQ&A
- VB.net、テキストボックス入力制限、全角のみ
VB.net初心者ですよろしくお願いします テキストボックス入力制限で全角文字のみを以下の方法で実現させました (1)テキストボックス選択時のImeMode初期値を全角ひらがなに設定 (2)ボタン押下時のイベントで入力された文字のサイズを確認し、半角が混ざっていたらエラー これで基本的には問題ないのですが、後学のために入力文字自体を全角のみに制限できないかを調べています いろいろ調査してみて半角のみは可能であることがわかり、実際にコーディングもしてみました しかし全角のみは調査しても情報が見つかりません 全角のみの入力制限が可能かどうか、理由も添えてアドバイスいただけると助かります よろしくお願いします。
- 締切済み
- Visual Basic
- テキストボックスにフォーカスを当てる?
こんばんは,すみませんよろしくお願いします。 テキストボックスにフォーカスを当てるには,例えば, TextBox1.SetFocus のようにするんだと思うのですが,テキストボックスに初期値が設定されていたときには,上記のようにすると,初期値のテキストの右側に線のようなポインタがテキストコントロール内にでてきます。 しかし,このような状態では,いったん初期値を消さないと,別の値に書き換えることは出来ません。 テキストコントロール内に初期の値として,何らかのテキストが入力されているとき,文字列が選択された状態になっていれば,即,別の値を入力することが出来ますので,ユーザーフォームをshowしたときに,テキストボックス内の初期値 (例えば,「ここに名前を入力してください」などの文字列) を選択した状態にしたいのです。どのようにすれば良いのでしょうか?何度もすみません。
- ベストアンサー
- その他MS Office製品
- テキストボックスがなくなる!?
更新前処理のイベントプロシージャで、入力すればテキストボックス表示・未入力ならばテキストボックス非表示に設定しました。そのときはうまくいくのですが、いったんフォームを閉じて新たに開けると、入力しているのに元のテキストボックスしか表示されていなくて、でも、レコードのデータは消えてないのです。このほかに設定しないとだめなんですか?
- 締切済み
- その他(データベース)
- VBAでcapslockをONにするには?
テキストボックス等の入力文字を英数大文字にしていするにはどうすれば ・・・?いいのでしょうか。IMEmodeでは英数大文字というのはないですよね? capslockをONにするとかできないのでしょうか?
- 締切済み
- その他(インターネット・Webサービス)
- PowerPointでテキストボックスで文字入力しフォントなどをもとし
PowerPointでテキストボックスで文字入力しフォントなどをもとした後、「既定のテキストボックスに設定する」を選択しました。その後その既定を元に戻したい(初期化)したいんですがどうしたらいいでしょうか?
- ベストアンサー
- その他MS Office製品
- Excelユーザーフォーム(テキストボックス)の文字入力について
何種類かあるテキストボックスを、番号入力なら半角入力とか英数入力、名前欄ならひらがな入力とかに設定は出来ませんか?
- 締切済み
- オフィス系ソフト
- ワードでのテキストボックス
Wordを使って文章の作成をしているのですが (オートシェイプの図形やテキストボックスを使った文字なども入れてあります。) テキストボックスで文字を入力すると全く別の違う場所へも テキストボックスで入力した文字が入ってしまいます…。 他のテキストボックス内の文字は異常ないのですが 新しくテキストボックスをクリックして文字を入力しようとすると 別の場所へ(別のテキストボックスではなく、 通常の文字入力スペースでもなく中途半端なところへ)文字が入ってしまうのです。 原因が全くわかりません。 何かおかしな設定をしてしまったのでしょうか…。 どなたか分かる方いらっしゃいましたらお願いします!
- ベストアンサー
- オフィス系ソフト
- EXCEL2010のテキストボックスについて
テキストボックスに文字数制限はありますか? セルA1に文字列とセル値を&でつないだ文章を=の計算式で入力しています。 それをテキストボックスに=で取り込んでいるのですが、途中で文章が切れてしまいます。 文字数制限があるのでしょうか? この制限を解除する方法はないでしょうか? windows7 の excel2010です。 ご回答宜しくお願い致します。
- ベストアンサー
- オフィス系ソフト
- テキストボックスの文字数制限について
エクセル2000でVBAを勉強中の初心者です。 ユーザーフォームのテキストボックスに入力できる文字数の制限や、ボックス内での文字の折り返し表示はできるのでしょうか。どなたかご指導いただけないでしょうか。
- ベストアンサー
- Visual Basic