以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  高级功能研发区  (http://www.weistock.com/bbs/list.asp?boardid=5)
----  如何在pel公式里判断vba是否已经启动?  (http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=48268)

--  作者:金日成
--  发布时间:2013/1/30 10:35:04
--  如何在pel公式里判断vba是否已经启动?
有时可能由于意外情况vba运行终止了,在pel公式中调用已经停止的vba自定义函数,居然也不会报错,这可能造成结果不正确,有没有办法在pel中判断vba是否正常运行呢?谢谢!
--  作者:王锋
--  发布时间:2013/1/30 12:08:17
--  

目前PEL无法判断VBA是否运行状态,但是为了防止VBA意外终止运行,你应该在VBA中增加一些异常处理机制,请参考

http://www.weistock.com/bbs/dispbbs.asp?BoardID=5&ID=31022&skin=0


--  作者:金日成
--  发布时间:2013/1/30 13:44:56
--  
感谢王峰老师,不过这个异常截获机制无法解决我的问题!我用vba写了一个头寸管理自定义函数,返回值就是具体头寸,如果vba不运行,他也不会报错,即使增加了异常处理机制也无济于事,以为vba代码根本没有执行。现在关键是在调用vba之前可能就存在没有启动的情况。不知我描述清楚没,请老师帮忙!谢谢!
--  作者:金日成
--  发布时间:2013/1/31 13:57:07
--  
老师,帮帮忙啊!
--  作者:王锋
--  发布时间:2013/1/31 15:59:41
--  

PEL是没法判断VBA的。

你只能采取2楼的做法,在VBA中加入异常处理机制,这样启动后的VBA引擎是不会随便就停止工作的