Conexión R y VBA - Automatización


#1

Estimados ¿Cómo están?

Les traigo una consulta que no estuve pudiendo resolver aunque tuve algunos acercamientos. Estoy queriendo ejecutar códigos de R mediante VBA (visual basic). Hasta el momento, las soluciones que encontre fueron:

  1. Correr un archivo batch (pero prefiero una solución del tipo add-in)
  2. add-in BERT, por algún motivo no me deja ejecutar los códigos aunque aparentemente se puede
  3. add-in Rexcel, aparentemente es la mejor opción pero por lo que ví es paga

Cualquier comentario sería de gran ayuda.
Un saludo y gracias.
Lautaro


#2

No lo probé, pero mirate este paquete: “https://cran.r-project.org/web/packages/excel.link/index.html

https://cran.r-project.org/web/packages/excel.link/vignettes/CallingRFromExcel.html

Quizás te sirve.

Saludos!


#3

Muchas gracias por la respuesta. Lo estoy probando pero estoy teniendo problemas para definir las siguiente variables en VBA:

  1. PathToR - if R not found here we will go further
  2. If RNearThisWorkbook = True we search near workbook.
  3. Environment variable R_HOME.
  4. Registry.

Tenes idea por qué puede ser?

Muchas gracias


#4

Hola Lautaro, por lo que veo en la documentacion, dice:

In both cases in general it doesn’t need to care about R location in the system - it will be detected from registry/environment variable. But if you need to point to some specific location (e. g. network location) it is possible to set constant PathToR.

Priority in search for R:

PathToR - if R not found here we will go further
If RNearThisWorkbook = True we search near workbook.
Environment variable R_HOME.
Registry.
If R not found in all above mentioned places error will be raised with suggestion to install R and URL ‘r-project.org’.

Es decir, solo debes definir PathToR si el paquete no encuentra R, no necesitas definir todas esas variables, lo mas probable es que tengas R en tu path o registro y se detecte de forma automatica, sino definis el PathToR para que lo encuentre.

Probaste la planilla de ejemplo que da el paquete? https://github.com/gdemin/excel.link/raw/master/inst/doc/R_connection_examples.xlsm

Yo abri esa planilla y tenia ya el codigo para ejecutar R y generar resultados, me funciono bien con Excel 2010.