フォーカスを固定したい – プログラミング – Home

フォーカスを固定したい
 
通知
すべてクリア

[解決済] フォーカスを固定したい


moe28
 moe28
(@moe28)
ゲスト
結合: 22年前
投稿: 3
Topic starter  

ユーザーフォームのTextBox1に文字を入力し
そのイベントを使って印刷命令をだしています

例えば

Private Sub TextBox1_Change()
If TextBox1 = P Then
Range(C6:F8).Select
Selection.PrintOut Copies:=1, Collate:=True
End If
End Sub

として印刷した場合、印刷後はTextBox1にフォーカスが
ないので マウスなどでTextBox1をクリックして戻しています

Private Sub TextBox1_Change()
If TextBox1 = P Then
Range(C6:F8).Select
Selection.PrintOut Copies:=1, Collate:=True
  TextBox1.SetFocus
End If
End Sub

としてもダメです
TextBox1にフォーカスを固定して入力しながら
印刷したいのですがお知恵をお貸し下さい


引用未解決
トピックタグ
べーちゃん
 べーちゃん
(@べーちゃん)
ゲスト
結合: 22年前
投稿: 49
 

こんにちはmoe28さん

>TextBox1にフォーカスを固定して入力しながら
>印刷したいのですがお知恵をお貸し下さい

知恵を貸すのはかまわないですが、その前に「使用上の注意」は読まれましたか?
質問前に使用上の注意を読んでおくことは、このような掲示板でのルールです。
どうぞ、よろしくお願いします。
開発環境は必要な情報です。(VCの場合だけではありません)

さて、ご質問の件はVBでなく、EXCELのVBAに関してだと思われます。
EXCELのVBAも95,97,2000,XPでアプローチが異なります。
とりあえず、EXCEL97でしたら、

If TextBox1 = P Then
UserForm1.Hide
Range(C6:F8).Select
Selection.PrintOut Copies:=1, Collate:=True
Range(A1).Select
UserForm1.Show
End If

でうまくいくはずです。


返信引用
moe28
 moe28
(@moe28)
ゲスト
結合: 22年前
投稿: 3
Topic starter  

失礼しました
環境は windows Me + Excel2000 です

残念ながらその方法では2度目にはイベントがきません

簡単のために全てのキーに反応するようにして
例えば
Private Sub TextBox1_Change()
UserForm1.Hide
Range(C6:F8).Select
Selection.PrintOut Copies:=1, Collate:=True
Range(A1).Select
UserForm1.Show
End Sub

としてテストした場合2度目以降のキーには反応しません?

またメモリも消費していくようです(ついにはエラーとなります)


返信引用
べーちゃん
 べーちゃん
(@べーちゃん)
ゲスト
結合: 22年前
投稿: 49
 

こんにちはmoe28さん

>残念ながらその方法では2度目にはイベントがきません

そんなことはないといいたいところなんですが、こちらで確認したのが
EXCEL97なんでそこまではいえないですね。

確認したいのですが、MaxLengthを1に設定していませんか?
changeイベントはキー入力によって発生するのではなく、テキストの
内容が変化したときに発生するイベントです。
従って、テキストボックスの内容が変化(change)しなければいくら
キー入力してもイベントは発生しません。changeイベントだからです。
本当にキー入力でイベント発生させたい場合はchangeイベントではなく、
KeyPressイベントまたはKeyDownイベントを使うべきです。


返信引用
moe28
 moe28
(@moe28)
ゲスト
結合: 22年前
投稿: 3
Topic starter  

>KeyPressイベントまたはKeyDownイベントを使うべきです

これではうまくいきました

しかしchangeイベントは
windows Xp + Excel2000 でも同じ現象がでます?
MaxLengthは初期設定0のままです
とりあえず changeイベントはさけるようにします

ありがとうございました


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました