假设我在Excel中有一个VBA宏,它可以进行一些计算。我想用R来做这个计算的一部分,但是在程序模式下。比如说,在某个时刻,Excel宏有一个向量,它需要在R中找到它的均值函数。我如何从VBA调用R,将一个向量传递给R,在R中启动计算,并在VBA中返回结果?谢谢。
发布于 2015-06-28 18:41:29
有一个插件RExcel,但我发现使用它相当可怕(而且你必须为它付费)。
下面是执行交互的最简单、最通用但又很老套的方法:
1)将csv格式的数组/矩阵/向量保存到文件夹中
2)将R代码写入读取csv的文件中,并将结果写入csv
3)使用VBA Shell函数(Rscript scriptName.R)从VBA调用R脚本
4)将结果导入excel/VBA。
这种方法的优点是,您可以将计算逻辑与VBA的格式化分开。
您也可以在VBA中直接调用R代码,使用R中的-e选项,但强烈建议您这样做。
希望它能帮上忙!
顺便说一句:它可以与所有其他程序(Python/LaTeX/Matlab)协同工作。
https://stackoverflow.com/questions/31098689
复制相似问题