WPS的vba会不会异步执行

代码

twb=ThisWorkbook.Name
Workbooks.Open file1
Windows(twb).active'本来是ThisWorkbook.active,但是奇怪的是Thisworkbook值会随着切换窗口改变
dim fst(3)
for i=0 to 2
fst(i)=Cells(i+7,2).Value
next

执行后一般情况正确,小概率fst会等于file1的cells

WPS的VBA是单线程执行的,不支持异步执行。因此,上述代码也是同步执行的。
代码中的第一行将当前工作簿的名称赋值给变量twb。第二行打开一个名为file1的工作簿,这个过程是同步的,即代码会等待文件打开完成后才会继续执行。第三行将当前窗口切换到之前的工作簿,这也是同步执行的。
至于为什么ThisWorkbook.active会变成Thisw,可能是因为代码中有其他地方对ThisWorkbook对象进行了修改,导致名称发生了变化。建议检查代码中是否有其他地方对ThisWorkbook对象进行了操作。