【发布时间】:2018-09-23 01:16:50
【问题描述】:
我在理解 BERT 如何处理 R 环境时遇到了一些问题。理想情况下,我希望能够通过 VBA 运行 R 脚本,类似于 VBA Sub。我不认为 BERT 促进了这一点。
当我在 BERT 控制台中运行以下 R 脚本时:
controls_sheet <- EXCEL$Application$get_Sheets()$get_Item('Sheet1')
some_vec <- 1:5
controls_sheet$get_Range('A1:A5')$put_Value(some_vec); # print results to sheet
行为符合我的预期,我在 Sheet1 的 A1:A5 范围内打印了从 1 到 5 的序列。
当我设置一个函数来执行相同的任务时,结果不会打印到工作表上。例如使用下面:
test_fun <- function(sheet = 'Sheet1'){
controls_sheet <- EXCEL$Application$get_Sheets()$get_Item(sheet)
some_vec2 <- 1:5
controls_sheet$get_Range('A1:A5')$put_Value(some_vec2); # print results to sheet
}
我的期望是,从 1 到 5 的序列将放置在我提供给函数的工作表的 A1:A5 范围内。在工作表 Sheet1 中的任何位置调用 =R.test_fun("Sheet1") 不会在 A1:A5 范围内产生任何输出。
有人可以告诉我如何运行类似于 VBA sub 的 R 脚本或创建不接受输入、运行脚本并将输出打印到工作表的函数。
【问题讨论】:
标签: r excel environment-variables scoping bert-toolkit