首页 > 解决方案 > 带有函数参数的 xlwings RunPython

问题描述

我正在尝试从 excel 中的按钮运行 RunPython 函数。我希望该函数从 excel 中的框中获取参数,如下所示:

Sub ImportData()
    Dim choice As String
    choice = Range("B2").Value
    RunPython ("import Excel_module; Excel_module.importing_data(choice)")
End Sub

这是一种可能吗?如果是这样,我该如何编写代码?我宁愿不使用UDF。

标签: pythonvbaxlwings

解决方案


您可以通过两种方式做到这一点:

1)按照RunPython您的方式使用:

您需要使用字符串连接:

RunPython ("import Excel_module; Excel_module.importing_data(" & choice & ")")

2)或者,如果您仅在 Windows 上,那么您也可以使用xw.sub装饰器并使用从 VBA 导入的函数,就好像它是本机 VBA 函数一样,请参阅文档。它目前未在文档中显示,但它们接受参数。


推荐阅读