vba调用quikcer里面的动作,无法正确返回自定义的值,都为空

动作开发 · 838 次浏览
MarsJack 创建于 2024-03-27 22:57

vba里面调用quikcer的动作,只要使用了屏幕识字模块就会出现返回值为空的情况,不管如果定义return模块返回的值,都为空。找图不会出现,找字会出现。无法自定义return返

回的值。

 

CL 最后更新于 2024/3/28

回复内容
MarsJack 2024-03-27 23:02
#1

例子:

CL 2024-03-28 07:25
#2

建议先在命令行窗口中测试看看。 

我猜测,无论是否有找图步骤,命令行里都不会出现返回值。 因为只有加-c参数的时候才会返回。

MarsJack 2024-03-28 10:22
#3

quikcer的代码

vba调用的代码




做了一个测试。

如果quikcer里面等待时间设置为2000毫秒,则vba里面调用后返回的参数为空。

如果如果quikcer里面等待时间设置为100毫秒,则vba里面调用后返回的参数为success.

为什么会这么奇怪。难道是超时自动返回空参数吗?

MarsJack 最后更新于 2024-03-28 10:36
CL 回复 MarsJack 2024-03-28 10:35 :

上图中,hello是从动作返回的。


MarsJack 回复 CL 2024-03-28 10:40 :

做了一个测试。

如果quikcer里面等待时间设置为2000毫秒,则vba里面调用后返回的参数为空。

如果如果quikcer里面等待时间设置为100毫秒,则vba里面调用后返回的参数为success.

为什么会这么奇怪。难道是超时自动返回空参数吗?

上面有vba代码,quikcer代码贴图。


但是另外一个测试:如果是两个quikcer动作相互调用,就可以一直返回success,返回参数不为空。

是不是vba和quikcer的交互有问题,导致无法正确获得返回参数。

MarsJack 最后更新于 2024-03-28 10:47
CL 回复 MarsJack 2024-03-28 10:55 :

success 是哪里来的?

MarsJack 回复 CL 2024-03-28 11:02 :

return模块返回success

CL 回复 MarsJack 2024-03-28 11:04 :

只有带-c参数的时候才会返回内容到控制台,从你的截图里看不到这个参数,所以不太理解怎么得到的success。 如果时间长了不行,也可能你的vba代码中没有等待动作执行完。

MarsJack 回复 CL 2024-03-28 11:06 :

怎样带上-c参数

MarsJack 回复 CL 2024-03-28 11:23 :

测试了下发现vba里面的代码没有等待quicker执行完,原因是quicker还在执行代码,vba就判断外部程序已经执行完了。但是vba里面代码已经是做了判断。如何优化vba的代码呢,让等待quikcer执行完再返回

MarsJack 最后更新于 2024-03-28 11:26
CL 回复 MarsJack 2024-03-28 12:02 :

只能试试增加-c参数,参考原始文档 https://getquicker.net/kc/manual/doc/quicker-starter#FeQCY 如果还不行就不清楚了。

MarsJack 回复 CL 2024-03-28 12:19 :

最后用写入文本文件,通过文本的标识来判断了。。。因为vba无法正确判断quicker的动作结束

MarsJack 最后更新于 2024-03-28 19:03
MarsJack 2024-03-28 10:24
#4


MarsJack 最后更新于 2024-03-28 10:33
回复主贴