我目前正在开发一个连接R和Excel的接口。到目前为止,我已经能够通过VBA宏执行R程序。我使用了http://shashiasrblog.blogspot.fr/2013/10/vba-front-end-for-r.html上提供的建议。
由于我的R脚本调用外部txt文件,当更改相应文件的目录时,最好不要手动更改R代码。所以问题是,是否可能从VBA脚本中将变量分配给R。
我没有成功地在指定的网站上找到帮助。有人遇到过这个问题并知道如何解决吗?您可以在附加的代码示例中找到我试图从该网站进行适应的内容。
问候,
大卫
由于我的R脚本调用外部txt文件,当更改相应文件的目录时,最好不要手动更改R代码。所以问题是,是否可能从VBA脚本中将变量分配给R。
我没有成功地在指定的网站上找到帮助。有人遇到过这个问题并知道如何解决吗?您可以在附加的代码示例中找到我试图从该网站进行适应的内容。
问候,
大卫
Sub RunRscript()
'runs an external R code through Shell
'The location of the RScript is 'C:\R_code'
'The script name is 'hello.R'
Dim shell As Object
Set shell = VBA.CreateObject("WScript.Shell")
Dim waitTillComplete As Boolean: waitTillComplete = True
Dim style As Integer: style = 1
Dim errorCode As Integer
Dim var1, var2 As Double
var1 = Tabelle1.Range("D5").Value
var2 = Tabelle1.Range("F5").Value
Dim path As String
path = "RScript C:\Users\David\Desktop\Test\test.R" & var1 & " " & var2
errorCode = shell.Run(path, style, waitTillComplete)
End Sub
args<-commandArgs(trailingOnly=T)
# cat(paste(args,collapse="\n"))
sink('C:/Users/David/Desktop/Test/test.R',append=F,type="output")
var1<-as.numeric(args[1])
var2<-as.numeric(args[2])
var1<-5
var2<-2
a<-var1+var2
write.table(a, file = "C:/Users/David/Desktop/bla.txt", sep = ",", col.names = NA,
qmethod = "double")
sink(NULL)