Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
  • ベストアンサー

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

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

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

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