chronicle 发表于 2017-9-8 08:42

【超能力】vb/vba里调用几个sub,如何做到执行完一个sub再下一个sub

call sub1
call sub2
call sub3

sub1里的代码跑完了,再跑sub2

我测试的结果,sub123是按代码顺序调用,上一个sub调用后,立即调用下一个sub,而不是等上个sub执行完成

chronicle 发表于 2017-9-8 08:43

网上按异步同步的关键词找全是shell调用外部程序的,不是这种调用内部sub的

Jet.Black 发表于 2017-9-8 08:51

vb有线程的吧?

gofbayrf 发表于 2017-9-8 09:00

嵌套行不?   一個CALL一個

ustslayer 发表于 2017-9-8 10:15

本帖最后由 ustslayer 于 2017-9-8 10:17 编辑

如果 sub1/2/3 里面有异步代码,那你就得使用某种异步的等待方式来保证每一块异步代码执行完毕之后再执行下一块代码。
常见的等待方式有回调 (callback)、承诺 (promise)以及锁 (lock)。

跟土拨鼠学qt 发表于 2017-9-8 10:54

allenz 发表于 2017-9-8 11:36

直接用循环sleep检查全局条件吧

—— 来自 HUAWEI KNT-AL20, Android 7.0上的 S1Next-鹅版 v1.3.1.0-play

runnerchin 发表于 2017-9-8 13:54

测了一下,是顺序执行的没错呀
Sub a()
For i = 1 To 100
    Debug.Print "a", i
Next i
End Sub
Sub a2()
For i = 1 To 100
    Debug.Print "b", i
Next i
End Sub
Sub a3()
For i = 1 To 100
    Debug.Print "c", i
Next i
End Sub

Sub ini()
a
a2
a3
End Sub
页: [1]
查看完整版本: 【超能力】vb/vba里调用几个sub,如何做到执行完一个sub再下一个sub