MS Access Tips/Sample and VBA and Blog customize etc...

カウントダウンダイアログ関数

時間のかかる処理や定期的な処理を実行するとき、「10秒後に実行します」とメッセージを出してカウントダウンをしていき、0秒になったら実行するということを実現する関数です。

フォームをダイアログモードで開きタイマーイベントを使用すれば比較的簡単に作成できますが、MsgBox関数と同じように汎用的に使える関数にしてみました。

カウントダウンダイアログ関数

難易度:

ダイアログフォームの作成

フォームを新規作成し、ラベル(lblMsg)、コマンドボタンを2つ(cmdOK, cmdCancel)配置します。

ダイアログフォームのデザインビュー

cmdOK の「既定のボタン」プロパティを「はい」にします。cmdCancel の「キャンセルボタン」プロパティを「はい」にします。

フォームのプロパティを下記のように設定して、FrmCountDown とな名前を付けて保存します。

フォームプロパティ
プロパティ設定値1
既定のビュー単票フォーム
自動中央寄せはい
境界線スタイルダイアログ
レコードセレクタいいえ
移動ボタンいいえ
コントロールボックスいいえ
ショートカットメニューいいえ

フォームのモジュールを下記のように記述します。

各イベントプロパティに [イベント プロシージャ] と設定されているを確認してください。

標準モジュールのコード

標準モジュールに下記のコードをコピーして貼り付けて、mdlCountDownDlg と名前を付けて保存。

標準モジュール mdlCountDownDlg

コンパイルして保存してください。

上記の手順で自分で作成してもいいですが、下記のサンプルファイルをダウンロードして、フォーム FrmCountDown とモジュール mdlCountDownDlg をインポートしてもいいです。
あるいは、下記のサンプルファイルを適当なフォルダーにおいて、参照設定しても利用可能です。複数のファイルで共通に使いたい場合は、参照設定の方法がいいでしょう。

使用例

ダイアログが出たあと、CancelボタンをクリックするかESCキーを押すと処理は実行されません。
OKボタンをクリックするかEnterキーを押すと処理が実行されます。

第1引数以外は省略できますので、面倒な場合は、下記でもOK。

サンプルファイルが下記からダウンロードできます。
VBACountDownDlg_07.zip (Access 2007-2010 形式 - 29kb)
VBACountDownDlg.zip (Access 2002-2003 形式 - 25kb)
VBACountDownDlg_2k.zip (Access 2000 形式 - 25kb)

拍手する

Leave a reply






Trackbacks

trackback URL
http://hatenachips.blog34.fc2.com/tb.php/381-36d49d63
該当の記事は見つかりませんでした。