アプリ版:「スタンプのみでお礼する」機能のリリースについて

テキストボックスの入力チェックを行うために下記のようなソースを記述しました。
下記を実行するとテキストボックスにどんな文字を入力してもメッセージボックスを表示し、
フォーカスが移動しない形となっております
(厳密にはボタンにフォーカスが移動した後、テキストボックスにフォーカスを移動しています)。

これは Me.テキストボックス.SetFocus のみを記述した所、次の場所にフォーカスが移動してしまい、
下記のように書くとフォーカスが移動していないように見えるため、このようにしました。

ただこの記述はいささか強引な感じなので、これを改良したいと思っております。
2回フォーカスを移動させるのではなく、フォーカス移動を抑止する方法がベストと思いますが、
方法が分からなかったので、何かしらアドバイスをいただけれる方がいらっしゃいましたらよろしくお願いします。

【ソース】
Private Sub テキストボックス_AfterUpdate()
MsgBox "エラー"
Me.ボタン.SetFocus
Me.テキストボックス.SetFocus
End Sub

以上、よろしくお願いします。

A 回答 (1件)

良く分かりませんが、下記のようなことでどうでしょうか。



Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  Dim ret As Variant

  ret = MsgBox("エラー")
  If ret = 1 Then
    Cancel = True
  End If
End Sub
    • good
    • 0
この回答へのお礼

どうもありがとうございます。
お教えいただいた方法で目的の動作が達成できました。
また何かございましたら、ご教示いただければと思います。
この度はありがとうございました。

お礼日時:2008/10/04 22:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています