我正在尝试在BERT中运行Excel 2016宏。在电子表格中,我可以将宏作为名为“ Button_To_Click”的按钮进行操作。这也是Excel文档的宏列表中宏的名称。我正在使用命令df.dot(list(AN.values()))/100
Out[154]:
26 5.8649
27 5.8649
28 5.8649
dtype: float64
并收到消息EXCEL$Application.Run("BERT.Call", "Button_To_Click")
。
这是我第一次使用BERT或任何与VBA相关的东西(我对R更为熟悉),而且我对如何使在Excel中创建和存储的宏无法在BERT上使用的文档不清楚。下面是一个更完整的示例:
Error: attempt to apply non-function
答案 0 :(得分:0)
运行宏的函数需要调用宏的名称以及在工作簿中承载该宏的工作表。它使用保存在宏菜单中的宏名称以及与其关联的操作,而不使用可单击按钮本身上编写的文本。在这种情况下,该按钮用文本“ Button_To_Click”标记,但是宏的实际名称是“ CalculateButton”,保存在Sheet2中,并且与之关联的操作是“ Click”。只要提供了BERT脚本,就可以使用BERT命令Run.Macro()
。
source(file.path("C:/Users/MyName/Documents/BERT2/examples/excel-functions.r" )) #loads special BERT functions needed to have Excel and R interact
Run.Macro ( "Sheet2.CalculateButton_Click") #runs the macro named 'CalculateButton' located in Sheet2