xlwings 持久 Python 个对象

xlwings persistent Python objects

我希望能够使用 xlwings 从 Excel 访问持久的 Python 对象。我正在使用 RunPython,因为我在 Mac 上。有谁知道如何创建持久对象?例如:

Sub MySub()
    RunPython ("from mod import MyClass;c = MyClass()")
End Sub

Sub MySubSequent()
    RunPython ("c.call_function()")
End Sub

调用 MySub 将创建一个 MyClass 实例,随后 MySubSequent 将访问它。

我考虑过 运行 一个 Python 打开工作簿的脚本,但是 RunPython 调用会创建一个新进程,所以这对我没有任何好处。

认为 也许这可以使用 UDF 来完成,但由于我无法测试它,我不确定(如果知道这是否是一个选项)。

谢谢!

我也在GitHub上回复了类似的问题,得到了答案。我不会把它贴在这里,以防将来更新:https://github.com/xlwings/xlwings/issues/621#issuecomment-642461322