ひとつ前の Soundex はつまらないと言いましたが、でも Evaluate を使いこなす良いサンプルだったかもしれません。と思い、Evaluate をうまく使いこなして @関数 にしかないファンクションを LotusScript でも汎用的に使えるようにしてみるのも良いかなと。
雛形として、以下のような Function を準備しておくと、単純な引数を受け取る @関数であれば結構汎用的に Evaluate を使えるかと思います。
例えば @URLEncode() を使いたい場合は、ファンクション名を URLEncode にして引数、戻り値は全て @URLEncode にあわせます。Function 内部の macro$ の行では @URLEncode("Platform";"文字列") となるように連結式を書いておいてあげれば、あとは呼び出し方で引数を設定してあげればいいですよね。ポイントは " を文字列の中に入れたいときには "" と二つ重ねるという点です。
■ 関連記事
Lunatic Sol:Soundex
雛形として、以下のような Function を準備しておくと、単純な引数を受け取る @関数であれば結構汎用的に Evaluate を使えるかと思います。
Function ファンクション名 ( 引数...) As 戻り値の型
Dim tmp As Variant
macro$ = 引数と @関数 を組み合わせた文字列の整形
tmp = Evaluate(macro$)
ファンクション名 = tmp(0)
End Function
例えば @URLEncode() を使いたい場合は、ファンクション名を URLEncode にして引数、戻り値は全て @URLEncode にあわせます。Function 内部の macro$ の行では @URLEncode("Platform";"文字列") となるように連結式を書いておいてあげれば、あとは呼び出し方で引数を設定してあげればいいですよね。ポイントは " を文字列の中に入れたいときには "" と二つ重ねるという点です。
■ 関連記事
Lunatic Sol:Soundex