SAS运行时暂停VBA

时间:2015-12-09 22:36:29

标签: excel-vba sas vba excel

我通过VBA中的olesas步骤呼叫SAS。我的excel表中有一个字段,表示"成功","处理"或"失败"。

如果遇到任何错误,我设置sas退出并输出"成功"作为最后一步(如果它运行完成且没有错误)。

我正在使用do while循环来检查SAS是否仍然处于忙碌状态(olesas.busy =" True")以在sas运行时暂停VBA,然后,如果块未显示成功,则将块更改为"失败"。这一切似乎都运行良好,除了即使SAS已经终止,最后一步仍然执行并更改块以说"成功"。关于为什么会发生这种情况的任何想法?

do while (OleSAS.busy = "True")
application.wait (now + TimeValue("0:00:02"))
Loop
if sheet1.range("box")="busy" then sheet1.range("box")="failed"

我不能分享剩下的代码,但是我使用过" errabend"如果出现错误,则使sas退出的声明。我本以为do while会让所有事情都暂停,直到sas完成,然后只有在最后的sas步骤没有完成时才变为失败。

SAS代码:

data _null_;
file new ;
put 'Successful';
run;

VBA致电

olesas.submit ("filename new DDE 'excel'|" + workbookpath + "\[" + workbookname + "]" + sheet1 + r1c1:r1c1' notab;")

0 个答案:

没有答案