RunPython¶
xlwings 插件¶
要访问Run main
(0.16版本新增)按钮或RunPython
VBA 函数,你需要 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。