• ベストアンサー

テキストボックスに大文字を

テキストボックスのKeyPressイベントで テキストボックスに大文字を入れたいのですが、 入力の時に、shift+CapsLock(英数)ってすると、大文字がいれれるとおもうのですが、それを初期設定で制限することはできないのでしょうか?  

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.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)
回答No.2

テキストボックスに大文字しか受け付けないような属性にしてしまう方法もあります。 これで行うと、コピペで入力された半角小文字英数も大文字に変更をOS側で変換を行ってくれます。 詳細は参考URLを見てください。

参考URL:
http://www.vbvbvb.com/jp/gtips/0751/gSetWindowLongEsUppercase.html
  • josyo_m
  • ベストアンサー率63% (28/44)
回答No.1

お疲れ様です。 どのようなことを行いたいのかはよくわかりませんが 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

  • テキストボックスの入力指定

    テキストボックスに入力する時に初期状態でかな入力あるいは半角英数入力にしたいのですが宜しくお願いします。

    • ベストアンサー
    • HTML
  • VB.net、テキストボックス入力制限、全角のみ

    VB.net初心者ですよろしくお願いします テキストボックス入力制限で全角文字のみを以下の方法で実現させました (1)テキストボックス選択時のImeMode初期値を全角ひらがなに設定 (2)ボタン押下時のイベントで入力された文字のサイズを確認し、半角が混ざっていたらエラー これで基本的には問題ないのですが、後学のために入力文字自体を全角のみに制限できないかを調べています いろいろ調査してみて半角のみは可能であることがわかり、実際にコーディングもしてみました しかし全角のみは調査しても情報が見つかりません 全角のみの入力制限が可能かどうか、理由も添えてアドバイスいただけると助かります よろしくお願いします。

  • テキストボックスにフォーカスを当てる?

    こんばんは,すみませんよろしくお願いします。 テキストボックスにフォーカスを当てるには,例えば, TextBox1.SetFocus のようにするんだと思うのですが,テキストボックスに初期値が設定されていたときには,上記のようにすると,初期値のテキストの右側に線のようなポインタがテキストコントロール内にでてきます。 しかし,このような状態では,いったん初期値を消さないと,別の値に書き換えることは出来ません。 テキストコントロール内に初期の値として,何らかのテキストが入力されているとき,文字列が選択された状態になっていれば,即,別の値を入力することが出来ますので,ユーザーフォームをshowしたときに,テキストボックス内の初期値 (例えば,「ここに名前を入力してください」などの文字列) を選択した状態にしたいのです。どのようにすれば良いのでしょうか?何度もすみません。

  • テキストボックスがなくなる!?

    更新前処理のイベントプロシージャで、入力すればテキストボックス表示・未入力ならばテキストボックス非表示に設定しました。そのときはうまくいくのですが、いったんフォームを閉じて新たに開けると、入力しているのに元のテキストボックスしか表示されていなくて、でも、レコードのデータは消えてないのです。このほかに設定しないとだめなんですか?

  • VBAでcapslockをONにするには?

    テキストボックス等の入力文字を英数大文字にしていするにはどうすれば ・・・?いいのでしょうか。IMEmodeでは英数大文字というのはないですよね? capslockをONにするとかできないのでしょうか?

  • PowerPointでテキストボックスで文字入力しフォントなどをもとし

    PowerPointでテキストボックスで文字入力しフォントなどをもとした後、「既定のテキストボックスに設定する」を選択しました。その後その既定を元に戻したい(初期化)したいんですがどうしたらいいでしょうか?

  • Excelユーザーフォーム(テキストボックス)の文字入力について

    何種類かあるテキストボックスを、番号入力なら半角入力とか英数入力、名前欄ならひらがな入力とかに設定は出来ませんか?

  • ワードでのテキストボックス

    Wordを使って文章の作成をしているのですが (オートシェイプの図形やテキストボックスを使った文字なども入れてあります。) テキストボックスで文字を入力すると全く別の違う場所へも テキストボックスで入力した文字が入ってしまいます…。 他のテキストボックス内の文字は異常ないのですが 新しくテキストボックスをクリックして文字を入力しようとすると 別の場所へ(別のテキストボックスではなく、 通常の文字入力スペースでもなく中途半端なところへ)文字が入ってしまうのです。 原因が全くわかりません。 何かおかしな設定をしてしまったのでしょうか…。 どなたか分かる方いらっしゃいましたらお願いします!

  • EXCEL2010のテキストボックスについて

    テキストボックスに文字数制限はありますか? セルA1に文字列とセル値を&でつないだ文章を=の計算式で入力しています。 それをテキストボックスに=で取り込んでいるのですが、途中で文章が切れてしまいます。 文字数制限があるのでしょうか? この制限を解除する方法はないでしょうか? windows7 の excel2010です。 ご回答宜しくお願い致します。

  • テキストボックスの文字数制限について

    エクセル2000でVBAを勉強中の初心者です。 ユーザーフォームのテキストボックスに入力できる文字数の制限や、ボックス内での文字の折り返し表示はできるのでしょうか。どなたかご指導いただけないでしょうか。

専門家に質問してみよう