运行 VBA 宏中的 R 函数
Run R function in VBA macro
我正在尝试 运行 来自 excel VBA 宏的 R 代码。
R 函数使用两个输入:DataFilter(Input1,Input2)
该函数进行一些过滤,然后在文件夹中保存一个新的 excel 文件
N:\数据文件夹
您能否帮助创建一个 VBA 宏,该宏 运行 具有两个新文本输入的 DataFilter 函数(假设电子表格中 sheet1 中的单元格 A1 和 B1)。
从那里我将能够在 vba 宏中打开 excel 文件。
谢谢!
您可以 运行 VBA 中的 R 脚本,方法是创建 Windows Shell 对象并向其传递执行 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
(source)
您可以将单元格值作为命令行参数传递给 R 脚本。有关更多信息,请参阅 ?commandArgs
。
我不确定这是一个直接的答案。您可能想看看它是如何使用 Bert 工具包完成的。这似乎有助于将 R 和 Excel 相互集成。
我正在尝试 运行 来自 excel VBA 宏的 R 代码。
R 函数使用两个输入:DataFilter(Input1,Input2) 该函数进行一些过滤,然后在文件夹中保存一个新的 excel 文件 N:\数据文件夹
您能否帮助创建一个 VBA 宏,该宏 运行 具有两个新文本输入的 DataFilter 函数(假设电子表格中 sheet1 中的单元格 A1 和 B1)。 从那里我将能够在 vba 宏中打开 excel 文件。
谢谢!
您可以 运行 VBA 中的 R 脚本,方法是创建 Windows Shell 对象并向其传递执行 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
(source)
您可以将单元格值作为命令行参数传递给 R 脚本。有关更多信息,请参阅 ?commandArgs
。
我不确定这是一个直接的答案。您可能想看看它是如何使用 Bert 工具包完成的。这似乎有助于将 R 和 Excel 相互集成。