如何将xlwings函数分配给按钮

时间:2018-08-29 13:03:13

标签: python excel vba excel-vba xlwings

当我在xlwings下创建一个模块来调用Python脚本时,如何将其分配给excel上的按钮?

尝试将宏分配给按钮似乎仅在主工作簿中提供功能选项。

3 个答案:

答案 0 :(得分:1)

我认为您不能将Python脚本分配给Excel按钮,但我认为解决方案可能是将VBA代码分配给调用Python脚本的按钮单击事件。

为此:

  1. 转到“开发人员”标签(Developer tab?!)->单击“ Visual Basic”

  2. 在顶部,选择“插入”->“模块”

  3. 在调用Python脚本的模块中创建一个Public Sub MySubName()

  4. 右键单击要将Sub分配给->“分配宏...”的按钮->选择Sub的名称。

就这样,假设您知道如何从VBA调用Python。

答案 1 :(得分:0)

将excel加载项添加到VBA之后,插入一个新模块(插入->模块)并编写以下代码。然后,在开发人员标签下创建一个按钮,右键单击该按钮,然后单击分配宏。然后找到您编写的名为Button的宏。

Sub Button()
    RunPython("import filename")
End Sub

答案 2 :(得分:0)

要在Python中编写可用于所有工作簿的Excel宏,可以使用PyXLL。

有关如何将Python函数公开为宏并从Excel调用它们的详细信息,请参见以下文档链接。

https://www.pyxll.com/docs/userguide/macros.html#calling-macros-from-excel