一定時間ごとにある処理を行う


一定時間ごとにある処理を行うにはタイマーコントロールを使います。これはフォーム上に貼り付けるとデザイン時には表示されますが、実行時には表示されません。

実行する時間の間隔を設定するには、Intervalプロパティに数字を入力します。1 〜 65,535ミリ秒の範囲で設定することができます。例えば、1000だと1秒、60000だと1分になります。あとは実行するコードを書くだけです。ボタンと同様にタイマーコントロールをダブルクリックすると、
Private Sub Timer1_Timer()
というのが挿入されるので、ラベル(Label1)を貼り付けて以下のコードを入力してみて下さい。

Dim i As Integer

Private Sub Timer1_Timer()

i = i + 1
Label1.Caption = i

End Sub

数字がIntervalの間隔ごとに1ずつ増えていけば成功です。このコードでは i という変数を1ずつ増やしてラベル(Label1)に表示します。Dim i As Integerに注目してください。Private Sub Timer1_Timer()の外にあります。これはフォームの中で有効な変数を宣言しています。もしこれを、

Private Sub Timer1_Timer()
Dim i As Integer

i = i + 1
Label1.Caption = i

End Sub

とすると数字は増えません。なぜかというと、この場合の変数はPrivate Sub Timer1_Timer()の中でのみ有効な変数だからです。全てのフォームやモジュールからアクセスできる変数を宣言するには、標準モジュール(*.mdl)などに、

Public i As Integer

と書きます。


戻る