我正在按钮点击上写一个宏。在这个按钮上单击,我有三个功能可以一个接一个地运行。
代码是:
Sub submit()
ActiveWorkbook.Save
Call RUnCode
Call copy_paste_sheet
Call cumulative_percent
End Sub
RUnCode的代码是:
Private Sub RUnCode()
Dim pyPrgm As String, pyScript As String
pyPrgm = "python "
pyScript = "C:\Users\Kishan\Desktop\script.py"
Call Shell(pyPrgm & pyScript, vbMinimizedNoFocus)
End Sub
函数RUnCode通过命令行运行python脚本。这需要一些时间来运行,我需要python脚本中的数据用于copy_paste_sheet和cumulative_percent函数(两个函数都是简单的excel表操作)。
但问题是:在RUnCode结束之前,其他两个函数正在运行,从而导致处理错误的数据。
你能帮我解决这个问题。提前谢谢。
答案 0 :(得分:0)
请改为尝试:
Private Sub RunCode()
Dim objShell As Object
Dim strCmd As String
Dim lngErrorCode As Long
strCmd = "python C:\Users\Kishan\Desktop\script.py"
Set objShell = CreateObject("WScript.Shell")
lngErrorCode = objShell.Run(strCmd, 1, True)
Debug.Print lngErrorCode
End Sub