VBA から R スクリプトを実行するにはどうすればよいですか? R スクリプトが C:\XXX\testR.R として保存されているとします。
Shell を使用してみましたが、うまくいきませんでした。
Public Sub RunRTest()
Shell ("Rscript test.r")
End Sub
ファイルの場所には注意してください。より明示的なシェルのdimステートメントが必要になる場合があります....たとえば、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)
ここで、Excel では、名前付き参照を持つセルRhomeDir
にテキストが含まれています
C:\Program Files\R\R-3.2.3\bin\x64\rscript
と
MyRscript
テキストを含むC:/Documents/Rworkings/Rscripttest.s
unix R のバックスラッシュと .s または .r の接尾辞と VB は "" を " に置き換えて、パス式に二重括弧を付けます (文字列を表すためにさらに外側の括弧を追加します)。また、ファイル名にスペースを含めることはお勧めできません。
上記のシェル コマンドの完全な dim 構文は、VBA shell を検索することで見つかりました。