Outlook 2013 폴더의 메시지에서 데이터를 추출하는 Python 스크립트를 작성하려고합니다. Outlook을 액세스 할 수 사방 설명 방법은 처음 실행하는 것입니다 : Outlook이 실행되지 않을 경우Python에서 실행중인 Outlook 인스턴스에 연결하는 방법
import win32com.client
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
이 잘 작동합니다.
try:
app = win32com.client.Dispatch('Outlook.Application')
except:
app = win32com.client.GetActiveObject('Outlook.Application')
: 하나 동시에 여러 인스턴스 실행을 지원하지 않는 다른 응용 프로그램에 대해보고 유사한 문제를 바탕으로
는
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)
, 나는 그들의 솔루션을 적응 시도 : 그것이 경우에,이 오류가 발생합니다
그러나 이것도 작동하지 않습니다. 이제 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의 실행중인 인스턴스에 연결하는 올바른 방법은 무엇입니까?