Excel VBA:函数未同步运行

时间:2016-07-08 07:14:14

标签: excel vba excel-vba

我正在按钮点击上写一个宏。在这个按钮上单击,我有三个功能可以一个接一个地运行。

代码是:

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结束之前,其他两个函数正在运行,从而导致处理错误的数据。

你能帮我解决这个问题。提前谢谢。

1 个答案:

答案 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