我使用win32com庫與outlook互動,看不到例外出現與其他東西之間的關系。不是每次我運行代碼時都會出現例外。如果您給我一些鏈接以清除有關此庫的檔案或嘗試幫助我解決問題,我將不勝感激
Exception appeared: (-2147023170, 'The remote procedure call failed.', None, None)
Traceback (most recent call last):
File "C:/.../sources/main.py", line 60, in main
logger=logger)
File "Outlook_API_v1.py", line 142, in save_mail
message = messages.GetFirst()
File "C:\...\AppData\Local\Temp\9\gen_py\3.7\00062FFF-0000-0000-C000-000000000046x0x9x6\_Items.py", line 53, in GetFirst
ret = self._oleobj_.InvokeTypes(86, LCID, 1, (9, 0), (),)
pywintypes.com_error: (-2147023170, 'The remote procedure call failed.', None, None)
uj5u.com熱心網友回復:
Outlook 可能無法滿足您的需求。行程可以關閉。在這種情況下,您可能會在代碼中看到描述的錯誤。
為防止這種情況發生,我建議向集合中添加一個新Explorer實體Explorers并使其全部保持活動狀態,直到您完成為止。Explorers.Add方法創建資源管理器視窗的新實體。不要擔心視窗,資源管理器視窗最初是隱藏的。如果需要,您必須呼叫物件的Display方法Explorer以使其可見。例如,以下 VBA 代碼顯示了如何使用此方法:
Sub DisplayDrafts()
Dim myExplorers As Outlook.Explorers
Dim myOlExpl As Outlook.Explorer
Dim myFolder As Outlook.Folder
Set myExplorers = Application.Explorers
Set myFolder = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderDrafts)
Set myOlExpl = myExplorers.Add(myFolder, olFolderDisplayNoNavigation)
myOlExpl.Display
End Sub
請注意,Outlook 是一個單例。如果您在用戶使用應用程式時嘗試將其自動化然后關閉它,您可能會陷入相同的場景。
uj5u.com熱心網友回復:
RPC_S_CALL_FAILED通常意味著在您的代碼運行時關閉了行程外 COM 服務器(Outlook.Application在您的情況下)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/428308.html
上一篇:在WindowsC 中模擬選擇
