我正在尝试使用" im exportissues 123456"从PTC(MKS)获取CR(更改请求)状态。在VBA中查询。但它确实打开状态表(一个新的excel表,它通过查询打开),除非我的代码结束。下面是我的代码的片段。
Sub Query_CR_Status()
shell_output = Shell("im exportissues 123456", 1) 'this should open up a new excel sheet containing CRs)
Application.Wait (Now + TimeValue("0:00:20")) 'waiting 20sec
'here: My code which will read information from the above generated excel sheet
End Sub
但我的问题是新的excel表格没有打开,除非它到达" End Sub"
答案 0 :(得分:0)
Application.Wait()
会阻止应用程序在指定的时间内执行任何。因此,如果您打开一个打开工作簿的命令,但应用程序处于等待模式,那么它将被延迟。
您可以尝试使用以下内容来解决这个问题:
Sub Query_CR_Status()
Dim wbC As byte
wbC = Workbooks.Count
shell_output = Shell("im exportissues 123456", 1)
While Workbooks.Count = wbC
DoEvents '// Process pending messages until workbook count changes
Wend
'// Rest of code
End Sub
或者,Chip Pearson创建了一个ShellAndWait
函数,可能更适合这个。