VBAって、本当におもしろい!!
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub ListBox1_Click()
DoEvents
Sleep 500
ActiveCell.Value = ListBox1.Value
Unload Me
End Sub
※最初のステートメントは、フォームモジュールの宣言セクションに記述してください。
「ちょっと難しいけど、Sleep関数を使うと、コードの進行をミリ秒単位で中断することができるんだ。
このSleep関数はWindows APIが提供している関数の1つなんだけど…。
難しいことはいいから、宣言セクションに
"Private Declare Sub Sleep ~"
と宣言を記述すれば、Sleep関数が使えるようになる。
引数に、中断する時間をミリ秒単位で記述すると、その間コードの実行が中断される。
ここでは"500"ミリ秒だから…0.5秒、中断されるよ」
星くんは先ほど同様に、ユーザーフォームを操作しました。
「あ…!ホントだ。
さっきは一瞬で消えてたけど、今度はほんの少し、表示時間が長くなってる…。
これってミリ秒の"500"は、自由に変更できるんだよね?」
「もちろん。
…ユーザーが望む長さに設定してもいいし、スクロールバーコントロールなんかで、
自由に調整できるようにしてもおもしろいね」
星くんの顔が、パッと輝きます。
「VBAって、本当におもしろいな!八木!!」
「ははは、何をいまさら…。
でもこういったところまで、気を配ったシステムこそ、ユーザーフレンドリーなシステムなんだ。
市販のソフトウェアでは、かゆいところに手が届かなくても、VBAならトコトン作りこみできる。
だから、みんなVBAが好きなんだよ」
星くんは八木くんの話を聞きながら、忘れかけていた熱いものが、
胸の奥にこみあげてくるのを感じていました。