Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


13345 / 13644 ツリー ←次へ | 前へ→

【5816】SendKeysについて 七瀬 03/6/2(月) 17:47 質問
【5821】Re:SendKeysについて ichinose 03/6/2(月) 18:53 回答
【5823】Re:SendKeysについて 七瀬 03/6/2(月) 23:02 お礼
【5831】Re:SendKeysについて JuJu 03/6/3(火) 8:52 発言

【5816】SendKeysについて
質問  七瀬  - 03/6/2(月) 17:47 -

引用なし
パスワード
   こんにちは。

あるBookが開かれた時、TextBoxに入力されたアルファベットを大文字に
固定したいと思います。
以下のようにコードを書いてみましたがうまく動作しません。

Private Sub Workbook_Open()
  Application.SendKeys "+{CAPSLOCK}"
End Sub

よろしくお願いいたします。

【5821】Re:SendKeysについて
回答  ichinose  - 03/6/2(月) 18:53 -

引用なし
パスワード
   ▼七瀬 さん:
こんにちは。

>あるBookが開かれた時、TextBoxに入力されたアルファベットを大文字に
>固定したいと思います。
>以下のようにコードを書いてみましたがうまく動作しません。
>
>Private Sub Workbook_Open()
>  Application.SendKeys "+{CAPSLOCK}"
>End Sub
>
>よろしくお願いいたします。
SendKeyというメソッドを私は使った事がないのですが、試しましたが、
おっしゃるとおり、うまく動きませんね。
この理由は、わかりませんが、代替として、

'=====================================
Private Sub TextBox1_Change()
  With TextBox1
   .Text = UCase$(.Text)
   End With
End Sub

といようにチェンジイベントでの対応ではいけませんか?

【5823】Re:SendKeysについて
お礼  七瀬  - 03/6/2(月) 23:02 -

引用なし
パスワード
   ▼ichinose さん いつもお世話になります。

>Private Sub TextBox1_Change()
>  With TextBox1
>   .Text = UCase$(.Text)
>   End With
>End Sub
>
>といようにチェンジイベントでの対応ではいけませんか?

私も下記のコードを書いてみました。しかしTextBox1に入力後ユーザーがエンターキー
を押下してくれないと何の意味もありません。ですからichinose さんの方が良いです。
しかし SendKeysは何故うまく動作しないんでしょうか?
でも解決です。ありがとうございました。

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  If TextBox1<> "" Then
    TextBox1= StrConv(TextBox1, vbUpperCase)
  End If
End Sub

【5831】Re:SendKeysについて
発言  JuJu E-MAIL  - 03/6/3(火) 8:52 -

引用なし
パスワード
   こんにちはぁ

>しかし SendKeysは何故うまく動作しないんでしょうか?

SendKeysは色々バグがあるからです。出来れば使わないにこしたことは...
(間違っても売り物には使わないですね)

もしかしたらWSH版なら動作するかもしれないので[#?SendKeys]の上の方を参考にしてね。

ではではぁ

13345 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free