RunPython

xlwings 插件

要访问Run main(0.16版本新增)按钮或RunPythonVBA 函数,你需要 xlwings 插件(或 VBA 模块),请参阅插件与设置.

对于新项目,最简单的方法是通过命令行客户端使用 quickstart 命令开始,请参阅命令行客户端(CLI)以获取详细信息:

$ xlwings quickstart myproject

使用“RunPython”调用 Python

在 VBA 编辑器中 (Alt-F11),将以下代码写入 VBA 模块。xlwings quickstart自动添加一个包含示例调用的新模块。如果你想从头开始,可以通过Insert > Module.

Sub HelloWorld()
    RunPython "import hello; hello.world()"
End Sub

这将在hello.py:

# hello.py
import numpy as np
import xlwings as xw

def world():
    wb = xw.Book.caller()
    wb.sheets[0]['A1'].value = 'Hello World!'

中调用以下代码HelloWorld并将其绑定到按钮上,或者直接在 VBA 编辑器中运行它,按下F5.

注意

xw.Book.caller()放置在被 Excel 调用的函数内部,而不是外部作为全局变量。否则,在退出时会阻止 Excel 正常关闭,并且当您使用Use UDF Server = True.

函数参数和返回值

虽然在技术上可以在函数调用中包含参数RunPython,但这不太方便。此外,RunPython不允许你返回值。要解决这些问题,请使用 UDF,请参阅用户定义函数(UDFs)- 但是,这目前仅限于 Windows。