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