[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『表示したユーザーフォームを指定時間後に閉じたい』(ちくりんぼう)
お世話になります。 本日3回目の質問です。 質問ばかりですみません。
チェックボックスをクリックしたらユーザーフォームを表示させます。 その表示されたユーザーフォームを指定時間(例えば3秒)後に閉じたいのですが どういったコードを追加すればいいのでしょうか? 宜しくご教授下さい。
Sub チェック593_Click() myCheck_Flg = ActiveSheet.Shapes("Check Box 593").DrawingObject.Value If myCheck_Flg = 1 Then UserForm2.Show End If End Sub
検索してみました。参考になるでしょうか。 [[20060107124014]]『メッセージボックスを2秒後に自動で閉じる?』(赤い彗星) http://www.keep-on.com/excelyou/2002lng4/200208/02080282.txt
そのフォームモジュールに Private Sub UserForm_Activate() Application.Wait Now + TimeValue("00:00:03") Unload Me End Sub とするとあんさんのご希望どおりになると思うんですけど、はて、これは何の為? (弥太郎)
きっちり3秒ではなく、なかなか閉じないこともあるけど PopUpを使う、という手もあります。 ※これはユーザーフォームではなく、ポップアップメッセ ージを表示するものです。
Sub test() CreateObject("WScript.Shell").Popup "3秒後に閉じます。 ", 3 End Sub (MARBIN)
皆様ありがとうございます。 色んな解答を頂きましたが、今回はユーザーフォームを利用したいという事もあり、 弥太郎様から教えて頂いたコードを貼ってみたのですが上手くいきませんでした。 (表示したまま閉じてくれませんでした。)
そのフォームモジュールに >現在のコードを貼ってある標準モジュールに貼れば良かったんですよね? ご教授願います。
とするとあんさんのご希望どおりになると思うんですけど、はて、これは何の為? >これはチェックボックスで合否判定をするようにしているのですが、『不合格』時 には指示を示したユーザーフォームを表示し、『OKボタン』をクリックで閉じる様に しています。 『合格』時にも表示させて、『合格』が分かり易い様に表示させるだけで、 合格時は特にクリックしなくても時間経過で閉じた方がいいかと思った為です。
横レスすみません。
>>現在のコードを貼ってある標準モジュールに貼れば良かったんですよね?
ユーザーフォームがアクティブなったときのイベントですので、 ユーザーフォームのモジュールに記述しないと働いてくれません。 (MARBIN)
MARBIN様ご指摘ありがとうございます。 ユーザーフォームのモジュールに記述しないと働いてくれません。 >ユーザーフォームのモジュールに記述したら働いてくれました。 皆様いつもありがとうございます。 今後も宜しくお願い致します。 (ちくりんぼう)
関係ないことですが・・・ 引用された文章に『>』をつけていただいたほうが・・・ ちくりんぼうさんの発言の頭につけてあるので「あれ?」とちょっと混乱(^^;) (ぷーのすけ)
MARBINさん、フォローおおきに〜。 ところでそのユーザーフォームはベルルートでも表示して、その際には3秒で閉じへん みたいでんなぁ。 それやとCheck593にフラッグでも立てて、そのルートからフォームを開いた時だけ 3秒で閉じるようにせなんだらもめ事に種になるんとちゃいまっしゃろか? 上手い事切り抜けられるかな〜? (弥太郎)
ぷーのすけ様 アドバイスありがとうございます。 以後気を付けたいと思います。
弥太郎様 >ところでそのユーザーフォームはベルルートでも表示して、その際には3秒で閉じへんみたいでんなぁ。
難しい事はわかりません(^_^;)が、今のところ自分がやりたかった事は出来ています。 (他のユーザーフォームは、OKとかYESとかNOのボタンを付けて、それで閉じる様にしてるからかな?) また分からない事があれば宜しくご教授下さい。 (ちくりんぼう)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.