【问题标题】:VBA to run R script with an output in ExcelVBA 在 Excel 中运行带有输出的 R 脚本
【发布时间】:2018-03-24 11:28:57
【问题描述】:

我正在尝试在 excel 中使用 R。我编写了一个在 R studio 中运行良好的 R 脚本-最终输出是一个 excel 文件。有人可以帮我编写 VBA 代码吗?我尝试了几个来源,但没有任何成功(Link1),Link2Link3。这是我想从 VBA 运行的非常简单的 R 代码(我需要在 excel 表中输出或作为新的 excel 文件输出 - 就像在 R 中一样)。

url<-("https://www.w3schools.com/xml/plant_catalog.xml")
data_df<- xmlToDataFrame(url)
library(xlsx)
write.xlsx(data_df,"P.xlsx")

【问题讨论】:

  • 你试过什么?查找RExcel
  • 它只适用于 Excel 32 位而不是 64 位。

标签: r vba excel


【解决方案1】:

是的,听起来不错,当 R Studio 启动时,您可能需要根据您运行的 Excel 版本在 32 位和 64 位之间进行选择。

https://sites.google.com/site/rforfishandwildlifegrads/home/week_2/default32bit

现在,要从 Excel 运行 R 脚本,请执行以下操作。

Sub RunRscript1()
    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 path As String

    ' path to R executable:  C:\Users\rshuell001\Documents\R\R-3.2.5\bin\x64\R.exe
    ' path to R script:  C:\Users\rshuell001\Documents\R\Download.r
    ' see more setup details here
    ' http://shashiasrblog.blogspot.com/2013/10/vba-front-end-for-r.html
    path = "C:\Users\rshuell001\Documents\R\R-3.2.5\bin\x64\R.exe CMD BATCH --vanilla --slave C:\Users\rshuell001\Documents\R\Download.r"
    'path = """C:\Users\rshuell001\Documents\R\R-3.2.5\bin\i386"" C:\Users\rshuell001\Documents\R\Download.R"
    errorCode = shell.Run(path, style, waitTillComplete)
End Sub

这种情况对我来说很好。只需稍作修改即可满足您的特定需求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-02
    • 2015-07-16
    • 1970-01-01
    • 2013-10-24
    • 1970-01-01
    相关资源
    最近更新 更多