作成した R 関数を VBA で呼び出そうとしているときに問題が発生しました。この問題は VBA と R の間の接続に起因するものではありませんが、R コードが独自の関数を呼び出さなければならないときに、プログラムが停止します。わかりやすくするために、R コードを次に示します。
args = commandArgs(trailingOnly=T)
sink('Y:/Documents/BC10.txt', append=F, type = "output",split=TRUE)
source("Y:/Documents/myfunction.R")
cat('TEST !!')
simul = args[1]
level = args[2]
spd1 = args[3]
spd2 = args[4]
spd3 = args[5]
date_valo = toString(args[6])
swap_rate = args[7]
l1 = 0
u1 = 0.03
rho2 = 0.5
cat('\nparameters are: ', simul, level, spd1 , spd2, spd3, date_valo, swap_rate)
PV_eq=PV_eq=myfunction(l1,u1,spd1,rho2,simul,level, date_valo, swap_rate)
cat(PV_eq)
sink()
VBA コードを実行すると、テキスト ファイル「BC10.txt」のパラメータの表示に関してはプログラムは正常に動作しますが、PV_eq は表示されません。したがって、プログラムがユーザー定義関数「myfunction」を呼び出すことができないと思いました。
私が遭遇した問題を知っている人はいますか? おそらく、VBA がユーザー定義関数を考慮に入れるように、VBA コード (または R コード) に何かを追加する必要がありますか?