vbs代码:
Sub pyArrays()
Dim inArray '创建一个变量
'创建Array外部对象,将对象实例置变量d1中
Set inArray = CreateObject("Stock.Array")
inArray.AddBack(1)
inArray.AddBack(2)
'创建外部对象,启用Python引擎
Set py = CreateObject("Stock.Python")
'载入Python模块,模块名为MyPython
pymod = py.ImportModule("jzt_MyPython")
If pymod <> 1 Then
'载入失败,打印错误原因
Msg = py.GetErrorInfo()
Application.MsgOut Msg
Set Msg = Nothing '使用完毕需要 Set Nothing销毁以免出现内存泄漏
Exit Sub
End If
'调用Python模块函数,函数名pytestmodule,参数为Array外部对象d1
set outArray = py.CallObject("return_arrays",inArray,inArray)
If IsEmpty(outArray) Then
Msg = py.GetErrorInfo()
Application.MsgOut Msg
Set Msg = Nothing '使用完毕需要 Set Nothing销毁以免出现内存泄漏
Exit Sub
End If
'打印返回值
'application.MsgOut Vartype(outArray)
item= outArray.GetAt(0)
application.MsgOut Vartype(item)
Set py = nothing '使用完毕需要 Set Nothing销毁以免出现内存泄漏
set inArray = nothing '使用完毕需要 Set Nothing销毁以免出现内存泄漏
end Sub
python模块代码
def return_arrays(x1,x2):
print(x1)
print(type(x1))
a = [1,2,3]
b = [4,5,6,7]
return [a,b]
返回的是一个object,如何把python里面的a,b取出来?
谢谢!
[此贴子已经被作者于2021/4/4 23:03:24编辑过]