以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  VBA调用Python显示无效模块名  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=170113)

--  作者:要送milk去
--  发布时间:2019/5/27 9:23:57
--  VBA调用Python显示无效模块名


图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20190527092015.png
图片点击可在新窗口打开查看

我设置了金字塔在启动时自动调用一个宏,这个宏调用了Python模块,但是会显示无效模块名。

 

模块名是没有写错的,因为我手动启动这个宏时,一切正常。  只有在自动启动时会显示无效模块名


--  作者:yukizzc
--  发布时间:2019/5/27 10:25:17
--  
已通过电话,试下把参数直接写死给python看会报错不
--  作者:要送milk去
--  发布时间:2019/5/27 10:39:26
--  
Sub a()

\'创建外部对象,启用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
 
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



Python模块代码:  

from PythonApi import *
print(\'sss\')




您看,这样这也会显示 无效模块名jzt_MyPython1

--  作者:无为剑
--  发布时间:2019/5/27 17:04:15
--  
你在哪个VBA事件中调用了pyothon模块了?