ルーチンを参照する

GetRefは、DHTMLで記述されたページで発生するイベントにハンドラを結びつけるために用意されています。しかし実際には、GetRefはルーチン(手続き・関数)を参照する汎用的なオブジェクトを返します。オブジェクトであるため、変数に代入したり、コレクションのアイテムとして管理したり、他のルーチンに渡してコールバックやポリモーフィズムを実現できます。

ただし、GetRefで得られるのは、グローバルスコープに置かれたルーチンへの参照に限られます。オブジェクトのメンバーへの参照は取得できません。

GetRefで取得したルーチンを呼ぶには、通常のルーチンを呼ぶ時と同様の記述をします。例えば、次のようにします。

Option Explicit
Main

Sub Main
    Dim Calculate
    Set Calculate = GetRef("Add")
    MsgBox Calculate(1, 100)
End Sub

Function Add(Number1, Number2)
    Add = Number1 + Number2
End Function

Function Subtract(Number1, Number2)
    Subtract = Number1 - Number2
End Function

最終更新日: 2011-10-14

戻る