私は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)
Rscriptにどのような価値を渡そうとしていますか?ここで望ましい行動は何ですか?限り、あなたのvbsスクリプトで 'msg'を初期化することはできません。どのスクリプトを最初に実行していますか?あなたが他のものを呼び出すことの無限ループを設定しているように見えます。あなたがもっと多くの[再現可能な例](https://stackoverflow.com/questions/5963269/how-to-make-a-great- r-reproducible-example) – MrFlick
msg文字列を出力として出力します。まず、VBSを開くRスクリプトを実行します。 VBSはメッセージ文字列をRコンソールに渡します。 – Geron
無限ループはありません。 Array(0〜1)を作成し、2つの要素をループします。 – Geron