用VBA调用R代码

用VBA调用R代码,r,excel,vba,csv,R,Excel,Vba,Csv,我在做一个项目,我需要使用VBA作为前端调用R作为后端。显然,没有bug警告,但我没有得到输出 基于VBA,我要求R读取一个外部csv文件,然后写入一个表csv作为输出。但它不能起作用 这是我的代码VBA和R VBA#### Sub RunRscript() '通过Shell运行外部R代码 'RScript的位置是'C:\R\u code' '脚本名称为'hello.R' 作为对象的暗壳 Set shell=VBA.CreateObject(“WScript.shell”) 将waitTillC

我在做一个项目,我需要使用VBA作为前端调用R作为后端。显然,没有bug警告,但我没有得到输出

基于VBA,我要求R读取一个外部csv文件,然后写入一个表csv作为输出。但它不能起作用

这是我的代码VBA和R

VBA####

Sub RunRscript()
'通过Shell运行外部R代码
'RScript的位置是'C:\R\u code'
'脚本名称为'hello.R'
作为对象的暗壳
Set shell=VBA.CreateObject(“WScript.shell”)
将waitTillComplete设置为布尔值:waitTillComplete=True
将样式设置为整数:样式=1
将错误代码设置为整数
将路径设置为字符串
path=“RScript”I:\des\Perso\Xiaofei\try.R”“”
errorCode=shell.Run(路径、样式、完成)
端接头
R#####


a如果调用
R
而不是
Rscript
,它能工作吗?如果你使用控制台而不是VBA,它能工作吗?你好,卡斯滕。在编写R而不是RScript时,我遇到一个错误“无法等待进程结束”。我还尝试了console和geot错误“error in file:cannot open the connection”,然后是“Calls:read.table->file,另外:警告消息:in file:cannot open file'German_ZCY_frombloomberg.csv':没有这样的文件或目录执行暂停”,但该文件确实在文件夹中,因为我可以在Rstudio中完美地运行R代码。你觉得呢?好像R码找不到输入的csv。在上面的片段中,使用相对路径规范。如果传递绝对文件名(包括路径)是否有效?我终于完成了。问题是,当我在RStudio中运行代码时,我不需要精确地写入csv的路径,因为它已经被R识别。但是当使用VBA调用R时,我需要更改我的R代码(第一行),以便告诉R csv文件的确切位置。非常感谢你的帮助。。
a <- read.table("German_ZCY_frombloomberg.csv",sep = ",",header = TRUE)
a <- data.frame(a)

write.table(a,"I:/des/Perso/Xiaofei/hello.csv", quote = FALSE, row.names  =FALSE, col.names = TRUE, sep = ";")
 sink('I:/des/Perso/Xiaofei/hello.txt',append=F,type="output")
 cat('Hello World')
 var1<-5^3
 var2<-7^3
 cat('\nThe result of adding',var1,'to',var2,'is',var1+var2)
 sink(NULL)