# 调用Python模块
CreateObject("Stock.Python")
- 本对象封装了Python接口的调用,为用户在vba中简易使用Python算法提供了可能。
- 本对象仅支持金字塔“Python模块”分类中的Python代码,用户需要自行将需要执行的Python代码放置此处并编译。
方法
方法 | 说明 |
---|---|
ImportModule | 加载Python模块 |
CallObject | 调用Python模块函数 |
GetErrorInfo | 获取错误信息内容 |
示例
sub Test
'创建外部对象,启用Python引擎
Set d = CreateObject("Stock.Python")
'载入Python模块,模块名为MyPython
ret = d.ImportModule("MyPython")
If ret <> 1 Then
'载入失败,打印错误原因
Msg = d.GetErrorInfo()
Application.MsgOut Msg
Set Msg = Nothing'使用完毕需要 Set Nothing销毁以免出现内存泄漏
Exit Sub
End If
Data = d.CallObject("pytestmodule",123,"你好")
If IsEmpty(Data) Then
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
其中Python “MyPython”模块代码:
def pytestmodule( par1, par2 ):
write_logging(str(par1)+"--"+par2)
return "返回了"
1
2
3
2
3