Я пытаюсь открыть скрипт R с помощью Rstudio из VBA, одновременно передавая аргумент скрипту R, к которому я могу затем обратиться с помощью commandArgs ().
Проблема очень похожа на описанную здесь:
WScript.Shell для запуска сценария с пробелами в пути и аргументами из VBA
Однако решение, хотя и очень хорошее, похоже, не работает для меня.
Вот код VBA, который я использую:
Sub RunRscript()
ActiveWorkbook.Save
Dim shell As Object
waitTillComplete As Boolean, _
style As Integer, _
errorcode As Integer, _
path As String, _
var1 As String
Set shell = VBA.CreateObject("WScript.Shell")
waitTillComplete = True
style = 1
var1 = Range("F3").Value
path = Chr(34) & "C:\Program Files\RStudio\bin\rstudio.exe" & Chr(34) & " " &
Chr(34) & "C:\Users\LI\Downloads\starting_code_v3.R"
'& Chr(34) & " " & Chr(34) & "var1" & Chr(34)
errorcode = shell.Run(path, style, waitTillComplete)
End Sub
Как видите, я использую почти тот же код, что и в приведенной выше ссылке, с некоторыми дополнениями. А именно, я определяю var1 как содержимое ячейки F3 (в моем случае ячейка содержит путь к файлу, но я предполагаю, что это может быть что угодно).
Теперь, если я запускаю код, представленный выше, он работает, и он запускает RStudio и открывает скрипт. Однако, если я добавляю закомментированный код на 1 строку ниже к переменной (то есть, если я пытаюсь запустить сценарий, одновременно передавая аргумент var1), RStudio открывается, но сценарий этого не делает, и никакое значение не передается на.
Любое предложение будет полезным.
Обратите внимание, что я просмотрел все возможные похожие темы по stackoverflow и в Google, а также пробовал множество комбинаций кавычек и двойных кавычек. (Я не очень опытный в VBA).
Обратите также внимание:
- Запуск Win7
- Запуск RStudio 1.1.383 & R 3.4.2
- Я не хочу использовать cmd или другие инструменты. Это нужно запустить из книги Excel с помощью кнопки, которая ссылается на код vba - так как он будет использоваться новичками.
- В данный момент я не хочу использовать RScript; Может быть, я буду считать, что после завершения всего кода в RStudio. Но сейчас мне нужно иметь возможность прочитать параметр в RStudio через commandArgs и выполнить некоторые манипуляции.
Пожалуйста, если возможно, предложите свой совет с учетом вышеизложенного.
Надеюсь, все вышесказанное имеет смысл, в противном случае, пожалуйста, попросите разъяснений.
Заранее спасибо.