我正在嘗試運行由 Outlook 中的規則觸發的 python 腳本。我當前的程序是撰寫一個由規則觸發的 VBA 腳本 - 該腳本只是簡單地呼叫 shell 方法,如下所示:
Shell (".../Anaconda3/python.exe" & ".../test_email.py")
但是,當我在 VBA 中呼叫腳本時,我收到錯誤訊息“編譯錯誤:外部程序無效”,并且突出顯示了對我的 python exe 路徑的參考。有誰知道我該如何解決這個問題?我已經添加了我在 VBA 部分中的實際錯誤

當我將代碼放入子程式時,我無法從規則管理器中呼叫實際代碼。

uj5u.com熱心網友回復:
您必須定義一個具有以下簽名的子:
Public Sub Test(mail as MailItem)
Shell (".../Anaconda3/python.exe" & ".../test_email.py")
End Sub
然后 Outlook 將能夠識別為規則運行的方法。
有關詳細資訊,請參閱Outlook 的規則和警報:運行腳本。
uj5u.com熱心網友回復:
我認為您需要將代碼放在 Sub 中,然后呼叫 sub - 而不僅僅是從編輯器中啟動它。
Sub PyExecSub()
Shell (".../Anaconda3/python.exe" & ".../test_email.py")
End Sub
uj5u.com熱心網友回復:
上面的兩個答案很好。但是,我遇到了無法跟蹤腳本中潛在錯誤的問題,因此我最終創建了一個 .bat 檔案,該檔案參考了 python 可執行檔案和腳本,并在 bat 中創建了一個錯誤記錄器。
Public Sub PyExecSub(mail As MailItem)
Shell "...\Desktop\test_email.bat"
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/513309.html
