2012-07-22 41 views
10

VBAからRスクリプトを実行するにはどうすればよいですか?私はCとして格納されたRスクリプトを持っていると言う:\ XXX \ testR.RVBAからRスクリプトを実行する

私はシェルを使用してみましたが、非常に成功していません。

答えて

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

シンプルで偉大な、ありがとう! – Joyce

7

ファイルの場所には注意が必要です。また、明示的なシェルのdim文などが必要な場合があります。 \プログラムファイル\ R \ R-3.2.3 \ビン\ x64版の\ rscriptと

:Excelで指定された参照RhomeDirとセルはテキスト

Cを含んでいる場合、あなたの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) 

を置き換えます

MyRscriptテキスト含まれています(UNIX Rバックスラッシュと.Sまたは.Rの接尾辞に注目「C /Documents/Rworkings/Rscripttest.s」

およびVBは、パス式に二重括弧を与えるために「と "」置き換えプラスさらに括弧の外側に文字列を示す)。あなたのファイル名に。

上記のシェルコマンドの完全な暗黙の構文は、VBAシェルを検索すると見つかりました。

関連する問題