首页 文章

VBA在Excel中使用输出运行R脚本

提问于
浏览
0

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

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

1 回答

  • 0

    是的,这听起来是对的,当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
    

    这种情况对我来说很好 . 只需稍微修改它以满足您的特定需求 .

相关问题