V5.30 【beta2】 支持该功能了吗?
[此贴子已经被作者于2020/5/24 14:12:08编辑过]
那么,请问:
1、如何使用,没看到范例呢?没有例子,不知道咋用啊。
2、测试发现存在BUG, Data = d.CallObject("zhibiao_vba",123,456)'调用PY模块中的函数,py模块中接受到的参数是错误的。
如下是窗口输出
Result:-1979711488.0
10:58:33 > -1979711488
10:58:33 > -1.6259745436952323e-260
如下是PY函数和VBA调用函数
#函数,供VBA调用,计算指标
def zhibiao_vba(x1,x2):
print(x1)
print(x2)
return str(x1+x2)
'调用py模块
sub Test
'创建外部对象,启用Python引擎
'Set d = CreateObject("Stock.Python")
'载入Python模块,模块名为MyPython
'ret = d.ImportModule("jzt_MyPython1")
If ret <> 1 Then '当载入失败,打印错误原因
Msg = d.GetErrorInfo()
Application.MsgOut Msg
Set Msg = Nothing'使用完毕需要 Set Nothing销毁以免出现内存泄漏
Exit Sub
End If
''调用PY模块中的函数,并获取返回值
xyz1=1
Data = d.CallObject("zhibiao_vba",123,456)'调用PY模块中的函数
If IsEmpty(Data) Then '当py模块返回为空
Msg = d.GetErrorInfo()
Application.MsgOut Msg
Set Msg = Nothing'使用完毕需要 Set Nothing销毁以免出现内存泄漏
Exit Sub
End If
'打印返回值
application.MsgOut "Result:"&Data
'Set d = nothing'使用完毕需要 Set Nothing销毁以免出现内存泄漏
end Sub
[此贴子已经被作者于2020/5/26 11:02:05编辑过]
那就怪了,我用的金字塔X64,V5.30 BETA1 测试就这样,要BETA2吗?
[此贴子已经被作者于2020/5/26 11:47:08编辑过]