Outlook 2013フォルダのメッセージからデータを抽出するPythonスクリプトを作成しようとしています。 Outlookをアクセスするためにどこにでも説明 方法は、最初に実行することです:Outlookが実行されていない場合Pythonから実行中のOutlookインスタンスに接続する方法
import win32com.client
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
これが正常に動作します。しかし、それがある場合、これはエラーがスローされます。どちらか同時に複数のインスタンスを実行することはできません別のアプリケーションのために報告された同様の問題に基づいて
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Program Files\Python27\lib\site-packages\win32com\client\__init__.py", line 95, in Dispatch
dispatch, userName = dynamic._GetGoodDispatchAndUserName(dispatch,userName,clsctx)
File "C:\Program Files\Python27\lib\site-packages\win32com\client\dynamic.py", line 114, in _GetGoodDispatchAndUserName
return (_GetGoodDispatch(IDispatch, clsctx), userName)
File "C:\Program Files\Python27\lib\site-packages\win32com\client\dynamic.py", line 91, in _GetGoodDispatch
IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx, pythoncom.IID_IDispatch)
pywintypes.com_error: (-2146959355, 'Server execution failed', None, None)
、私は彼らのソリューションを適応しようとした:
try:
app = win32com.client.Dispatch('Outlook.Application')
except:
app = win32com.client.GetActiveObject('Outlook.Application')
しかし、これはうまくいきません。 GetActiveObjectは今のエラーで失敗します。
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Program Files\Python27\lib\site-packages\win32com\client\__init__.py", line 79, in GetActiveObject
dispatch = pythoncom.GetActiveObject(resultCLSID)
pywintypes.com_error: (-2147221021, 'Operation unavailable', None, None)
だから何がOutlookの実行中のインスタンスに接続するための正しい方法でしょうか?自分の質問に答える