13

VBA から R スクリプトを実行するにはどうすればよいですか? R スクリプトが C:\XXX\testR.R として保存されているとします。

Shell を使用してみましたが、うまくいきませんでした。

4

3 に答える 3

22
Public Sub RunRTest()
  Shell ("Rscript test.r")
End Sub
于 2012-07-22T07:55:23.113 に答える
12

ファイルの場所には注意してください。より明示的なシェルの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 を検索することで見つかりました。

于 2016-01-26T12:15:08.220 に答える