概要 Visual Basic for Application (VBA) において、手続きをパラメータとして引き渡す方法、いわゆるコールバック関数の実装方法を解説します。 クラスメソッドを作る VBAでは手続きをポインタなどで扱う仕組みがありません。そこでまず、クラスモジュールにメソッドを定義してやり、インスタンスオブジェクトからメソッドをコールするという手順でコールバック関数を実装することにします。 Option Explicit Sub callSub(ParamArray prms()) ' メソッドの名前 Debug.Print "Callback1.callSub" ' 引数の一覧 Dim it, prmsStr As String prmsStr = " prms = " For Each it In prms prmsStr = prmsStr & it & ", " Ne