2017-06-19 14 views
1

私はVBSを実行するRスクリプトを持っています。VBSからRへの引数の受け渡し

VBスクリプトは、私はコードを作成しますが、引数がまだNAで渡さR.

に戻って引数を渡す必要があります。

R:

path <- "C:\\Users\\PD\\Desktop\\Dashboard Citi R\\test\\scripcik.vbs" 

shell(shQuote(normalizePath(path)), "cscript", flag = "//nologo") 

args<-commandArgs(TRUE) 
myvar<-args[1] 
print(myvar) 

VBS:

dim myArr 
Dim shell 
Set shell = CreateObject("WScript.Shell") 
chartpath6 = "C:\Users\PD\Desktop\Dashboard Citi R\test\bazy\" & myDate(now) & ".accdb" 
chartpath5 = "C:\Users\PD\Desktop\Dashboard Citi R\test\bazy\" & myDate(now)-1 & ".accdb" 

myArr = Array(chartpath6,chartpath5) 

for i = 0 to 1 
    ReportFileStatus(myArr(i)) 
next 

sub ReportFileStatus(filespec) 
    Dim fso, msg 
    Set fso = CreateObject("Scripting.FileSystemObject") 
    If (fso.FileExists(filespec)) Then 
     msg = filespec & " exists." 
    Else 
     msg = filespec & " doesn't exist." 
    End If 
    msgbox msg 
End sub 

Function myDate(dt) 
    dim m,y 
    m = right("0" & datePart("m",dt),2) 
    y = datePart("yyyy",dt) 
    myDate= y & m 
End Function 

Dim path 

path = "Rscript C:\Users\PD\Desktop\Dashboard Citi R\test\runR.R " & msg 

shell.Run(path) 
+1

Rscriptにどのような価値を渡そうとしていますか?ここで望ましい行動は何ですか?限り、あなたのvbsスクリプトで 'msg'を初期化することはできません。どのスクリプトを最初に実行していますか?あなたが他のものを呼び出すことの無限ループを設定しているように見えます。あなたがもっと多くの[再現可能な例](https://stackoverflow.com/questions/5963269/how-to-make-a-great- r-reproducible-example) – MrFlick

+0

msg文字列を出力として出力します。まず、VBSを開くRスクリプトを実行します。 VBSはメッセージ文字列をRコンソールに渡します。 – Geron

+0

無限ループはありません。 Array(0〜1)を作成し、2つの要素をループします。 – Geron

答えて

0

あなたが送信しよう変数はテキストメッセージである場合、あなたはtxtファイルに書き込むことができますRからテキストファイルの値がヌルまたは空でないまでループする(私はnerverがRでコードしようとした)、そしてteの値を使用するxtファイル。

(私もwscript.echo "MYTEXT"を試してコマンドラインから実行しましたが、msgboxがポップされました)。

+0

はい、私はその方法について考えましたが、最初にVBSから変数に直接変数を渡す方法があるかどうかチェックしたいと思います。 – Geron

+0

多分それが助けになる可能性があります:https://stackoverflow.com/questions/187040/how-do-i-return-an-exit-code-from-a-vbscript-console-application(この行で:WScript.Quit() returnValue)) – Tommy

+0

ありがとうございましたが、解決しなかった – Geron

関連する問題