2012-07-22 58 views

Respuesta

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

Simple y genial, muchas gracias! – Joyce

7

Tenga en cuenta que debe tener cuidado con la ubicación de sus archivos y puede que necesite declaraciones más explícitas de Shell dim ... p. Ej. reemplazar 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) 

en Excel, donde una célula con referencia llamado RhomeDir contiene texto

C: \ Archivos de programa \ R \ R-3.2.3 \ bin \ x64 \ RSCRIPT y

MyRscript contiene texto "C: /Documents/Rworkings/Rscripttest.s"

tomando nota de la barra invertida y .s UNIX R o postfix .R y VB reemplaza "" con "para dar soportes dobles en expresión de ruta (plus más allá de los corchetes para denotar la cadena). Tampoco es una buena idea tener espacios en tu nombre de archivo

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

Cuestiones relacionadas