String 型変数に格納されたプロシージャ名での呼び出し Hit Counter

対象バージョン : 97, 2000, 2002, 2003, 2007
最終更新日 : 2007/03/11 (オリジナル作成日:1996/10/08)


概 要

 String 型変数にプロシージャ名を格納し、呼び出すプロシージャを動的に変更する方法です。

 

手 順

 下2桁が連番となっているプロシージャが PROC01 から PROC10 まで 10 個あり、引数 Arg_ProcNo の値に応じて呼び出すプロシージャを変えるものとします。

【例】  Arg_ProcNo の値が 1 の場合 PROC01 を、8 の場合 PROC08 を呼び出す。

 

1.呼び出すプロシージャが Function プロシージャの場合

 Eval 関数を使用します。

Function CallProc(Arg_ProcNo As Integer)
Dim ProcName As String
Dim RetVal

ProcName = "PROC" & Format(Arg_ProcNo, "00") & "()"
RetVal = Eval(ProcName)
End Function

 呼び出すプロシージャへ引数を渡すことも可能です。

ProcName = "PROC" & Format(Arg_ProcNo, "00") & "(Arg1, Arg2, ・・・)"

 

2.呼び出すプロシージャが Sub プロシージャの場合

 Run メソッドを使用します。

Function CallProc(Arg_ProcNo As Integer)
Dim ProcName As String

ProcName = "PROC" & Format(Arg_ProcNo, "00")
Run ProcName
End Function

 プロシージャからの戻り値を破棄しても良い場合は、Run メソッドにより Function プロシージャを呼び出すことも可能です。


改訂履歴


目次へ戻る