|
運用方法
・ Excelを起動してください。
・ 新規ブック(book1とします)の標準モジュールにある以下のコードを繰り返し処理することを考えます。
‘================================================================
Option Explicit
Public Type 足し算
a As Long
b As Long
End Type
'==============================================================
Sub testtest(p As 足し算)
MsgBox p.a + p.b
End Sub
・ まず、参照設定を行います。
VBEのプロジェクトエクスプローラーにて、当該プロジェクトを選択した状態で
「ツール」---「参照設定」とクリックし、参照設定ダイアログを表示させます。
一覧にrepprocがあるはずです。チェックを入れてOKボタンをクリックしてください。
これで参照設定がされていれば、reptprocのコードが使えます。
・ Book1のThisworkBookのモジュールに
‘=======================================================================
Option Explicit
Dim WithEvents reptcls As reptproc.Class1
‘=======================================================================
Sub main()
Set reptcls = reptproc.get_class ' Class1のインスタンスの取得 1
reptcls.timer_set TimeValue("00:00:03") '----- 繰り返し時間の間隔設定 2
'↑3秒毎に繰り返し処理実行を指示
End Sub
‘=======================================================================
'↓ timerjust イベントを提供 3
Private Sub reptcls_timerjust(ByVal cnt As Long, cancel As Boolean, t_para As Variant)
'このイベントプロシジャーに繰り返し処理する
' cnt 繰り返し実行回数 初期値は1
'cancel trueに設定すると、繰り返し処理終了
't_para このイベントプロシジャー内にデータを引き渡す配列(まだ使い道を模索中)
Dim Plus As 足し算
With Plus
.a = 5
.b = 6 + cnt
End With
Call testtest(Plus)
If cnt >= 4 Then cancel = True '4回繰り返したら処理終了
End Sub
THisworkbookのmainを実行してみてください。
標準モジュールのtesttestを4回繰り返し処理します。
プロジェクトreptprocは上記の1,2,3の3つの機能を有します。
1 get_class ---- クラスClass1のインスタンスを取得する
Class1の機能
2 timer_set メソッド ------処理を繰り返し実行する時間間隔を登録する
3 timerjustイベント-------timer_setメソッド設定した時間間隔毎発生するイベントです。
試してみてください。
|
|