2016-12-28 11 views
0

Rスクリプトを編集するマクロがあります。VBAでRスクリプトを実行する間違ったディレクトリ

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 = """" & "C:\Program Files\R\R-3.3.2\bin\i386\R.exe" & """ """ & "R RAM Cluster Script.R" & """" 

errorCode = shell.Run(path, style, waitTillComplete) 

上記のコードはthis questionからのものであった:Rスクリプトは、次のVBAによって呼び出されると想定されていることを 。私はマクロを実行すると

、ただし、Rコマンドラインは私というエラーを与える:。

'\\dm\home\myaccount\*Path of my original Excel File*' 
"CMD.EXE was started with the above path as the current directory. 
    UNC Paths are not supported. Defaulting to Windows directory. 
    Argument 'R RAM Cluster Script.R' Ignored" 

スクリプトが私のExcelワークブックが入っているフォルダに格納され

誰でも助けることができます私の問題を見つけることと私は?

+0

最後の行を 'shell.Run path、1、True'に置き換えて** Rスクリプト**を実行しようとするとどうなりますか?それは動作しますか? –

+0

残念ながら、いいえ、同じエラーが発生します。 – reggie86

+0

このファイルはどこに保存されていますか?R RAM Cluster Script.R? – cyboashu

答えて

1

はこれを試してみてください:

Sub test() 
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 = """C:\Program Files\R\R-3.3.1\bin\RScript.exe""" & """c:/temp/R RAM Cluster Script.R""" 

errorCode = shell.Run(path, style, waitTillComplete) 

End Sub 
+0

バッチ引数の場合、r.exeをrscript.exeに変更します。 – PhilC

+0

引数にRファイル 'c:¥YOUR DIR¥R RAM ...'のパスを追加してみてください。エラーは、スクリプトを見つけられないrscriptによるものです。 – PhilC

+0

もう一度試してみませんか? c:/スラッシュの方向のmypathノートの変更 – PhilC

0

私はそれがUNCパスをサポートしていないため、スクリプトのラッパーとしてPowerShellを使用しようとお勧めします。だから、このようなものがうまくいくはずです:

path = "Powershell.exe -executionpolicy bypass -Command &{'C:\Program Files\R\R-3.3.2\bin\i386\R.exe " & ThisWorkbook.Path & "\R RAM Cluster Script.R'}" 
+0

これはディレクトリの問題を解決するのに役立ちましたが、 'Program'と 'Files'の間にスペースがあるため、 'C :\ Program' – reggie86

+0

ああ、私は答えを修正します – KySoto

+0

これで、PowerShellの予期しないトークンエラーが発生しました。 それは: – reggie86

関連する問題