此過程可以簡化嗎?不使用RExcel從Excel VBA運行R
首先,我手動中的R打開這個文件: C:\ r \ ExampleModel \ ModelScript.R
從R-編輯器中,當下面的代碼從開啓ModelScript.R文件運行它會正確處理Model.R腳本。
source("C:\\R\\ExampleModel\\Model.R", echo=T)
在Excel中,我想在不與R手動打開ModelScript.R首先運行上面的源代碼。在下面的VBA代碼中有什麼可以修改的,以便從Excel/VBA自動處理source()命令?如果批處理過程是唯一的選擇,那麼請使用所提供的示例擴展。
Excel 2007中VBA代碼:
Sub RRUN()
Dim rCommand As String
rCommand = "C:\\Program Files\\R\\R-3.0.0\\bin\\Rscript.exe --verbose C:\\R\\ExampleModel\\ModelScript.R"
'Timer Set to run full Model.R script
Application.Wait Now + TimeValue("00:00:05")
'Runs R Script and Arguements into process
Shell rCommand, vbNormalFocus
'Timer Set to run full Model.R Script
Application.Wait Now + TimeValue("00:00:05")
End Sub
注:我試着在上面到位的Rscript.exe使用運行R.exe,但沒有任何結果。
儘管有用,但Excel R維基並未解釋如何... http://rwiki.sciviews.org/doku.php?id=tips%3adata-io%3ams_windows&s=excel –
不確定你需要轉義在可執行文件的路徑中反斜槓。 –
上述VBA代碼確實以上述格式Tim運行Rscript.exe和R.exe。對於一個簡單的PDF格式圖工作正常......我試圖讓它在一個更復雜的多功能代碼塊上工作。 –