| 
    
     |  | 運用方法 
 ・    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メソッド設定した時間間隔毎発生するイベントです。
 
 
 試してみてください。
 
 
 |  |