在我的VBA sub中,我使用xlwings中的RunPython命令调用python脚本。我想调用一个以数组作为参数的函数。如何将VBA数据类型转换为Python可读的列表?
代码:
RunPython("import script; script.query(dates=argsArray, queryString='"& myString &"')
我可以使用&成功传递一个字符串,虽然我不知道如何将数组argsArray作为参数传递。
答案 0 :(得分:0)
看看转换器。
http://docs.xlwings.org/en/stable/converters.html?highlight=array
您可以做的是将Range地址作为字符串传递,然后将值作为数组获取。来自文档:
arr = xw.Range('A1:A3').options(np.array, ndim=2).value
你要替换A1:A3'使用argsArrayAddressString:
RunPython("import script; script.query(dates=argsArrayAddressString, queryString='"& myString &"')
然后在你的代码中:
arr = xw.Range(argsArrayAddressString).options(np.array, ndim=2).value