2012-07-22 196 views
10

如何從VBA運行R腳本?說我有一個R腳本存儲爲C:\ XXX \ testR.R從VBA運行R腳本

我嘗試使用殼牌,但不是很成功。

回答

18
Public Sub RunRTest() 
    Shell ("Rscript test.r") 
End Sub 
+0

簡單而偉大,非常感謝! – Joyce 2012-07-22 08:49:30

7

請注意您的文件位置,可能需要更多的顯式的Shell語句。在你的VB這些行取代

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 = """" & Cells.Range("RhomeDir") & """ """ & Cells.Range("MyRscript") & """" 

errorCode = shell.Run(path, style, waitTillComplete) 

其中在Excel中一個名爲引用單元格RhomeDir包含文本

C:\ Program Files文件\ r \ R-3.2.3 \ BIN \ 64 \ RSCRIPT和

MyRscript包含文本「C:/Documents/Rworkings/Rscripttest.s」

注意到UNIX的r反斜線和.S或.R後綴和VB替換「」具有「,得到在路徑表達式雙括號(加進一步在括號內表示字符串)。也不是一個好主意有空格在你的文件名中。

通過搜索VBA shell找到上述shell命令的完整dim語法。