Ejecutando scripts R desde VBA

¿Cómo puedo ejecutar un script R desde VBA? Supongamos que tengo un script R almacenado como C: \ XXX \ testR.R

Intenté usar Shell, pero no del todo exitoso.

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

Tenga en cuenta que debe tener cuidado con las ubicaciones de sus archivos y puede que necesite sentencias Shell dim más explícitas … por ejemplo, reemplace con estas líneas en su 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) 

donde en excel una celda con la referencia nombrada RhomeDir contiene texto

C: \ Archivos de progtwig \ R \ R-3.2.3 \ bin \ x64 \ rscript y

MyRscript contiene el texto “C: /Documents/Rworkings/Rscripttest.s”

anotando la barra invertida R de unix y .s o .r postfix y VB reemplaza “” con “para dar dobles corchetes en la expresión de ruta (más los corchetes exteriores para denotar cadena). Tampoco es una buena idea tener espacios en el nombre de su archivo.

La syntax completa de dim del comando de shell anterior se encontró al buscar el shell de VBA.