-2

Excel VBA マクロから R コードを実行しようとしています。

R 関数は 2 つの入力を使用しています: DataFilter(Input1,Input2) 関数は、いくつかのフィルタリングを行い、新しい Excel ファイルをフォルダー N:\DataFolder に保存します。

2 つの新しいテキスト入力 (スプレッドシートのシート 1 のセル A1 と B1 としましょう) で DataFilter 関数を実行する VBA マクロの作成を手伝っていただけませんか。そこから、vba マクロで Excel ファイルを開くことができます。

ありがとうございました!

4

2 に答える 2

4

Windows Shell オブジェクトを作成し、R スクリプトを実行する文字列を渡すことで、VBA で R スクリプトを実行できます。

Sub RunRscript()
'runs an external R code through Shell
'The location of the RScript is 'C:\R_code'
'The script name is 'hello.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 = "RScript C:\R_code\hello.R"
errorCode = shell.Run(path, style, waitTillComplete)
End Sub

ソース

セルの値をコマンド ライン引数として R スクリプトに渡すことができます。詳細については、を参照?commandArgsしてください。

于 2016-10-31T20:26:37.387 に答える