vba里面调用quikcer的动作,只要使用了屏幕识字模块就会出现返回值为空的情况,不管如果定义return模块返回的值,都为空。找图不会出现,找字会出现。无法自定义return返
回的值。
例子:
建议先在命令行窗口中测试看看。
我猜测,无论是否有找图步骤,命令行里都不会出现返回值。 因为只有加-c参数的时候才会返回。
quikcer的代码
vba调用的代码
做了一个测试。
如果quikcer里面等待时间设置为2000毫秒,则vba里面调用后返回的参数为空。
如果如果quikcer里面等待时间设置为100毫秒,则vba里面调用后返回的参数为success.
为什么会这么奇怪。难道是超时自动返回空参数吗?
上图中,hello是从动作返回的。
上面有vba代码,quikcer代码贴图。
但是另外一个测试:如果是两个quikcer动作相互调用,就可以一直返回success,返回参数不为空。
是不是vba和quikcer的交互有问题,导致无法正确获得返回参数。
success 是哪里来的?
return模块返回success
只有带-c参数的时候才会返回内容到控制台,从你的截图里看不到这个参数,所以不太理解怎么得到的success。 如果时间长了不行,也可能你的vba代码中没有等待动作执行完。
怎样带上-c参数
测试了下发现vba里面的代码没有等待quicker执行完,原因是quicker还在执行代码,vba就判断外部程序已经执行完了。但是vba里面代码已经是做了判断。如何优化vba的代码呢,让等待quikcer执行完再返回
只能试试增加-c参数,参考原始文档 https://getquicker.net/kc/manual/doc/quicker-starter#FeQCY 如果还不行就不清楚了。
最后用写入文本文件,通过文本的标识来判断了。。。因为vba无法正确判断quicker的动作结束