@RinatG80

Исправить ошибку win32com.clien.Dispatch('Outlook.Application') при закрытом Outlook?

Добрый день, у меня есть проблема с простейшим кодом работы с COM через win32com.client. Установлено, что ошибка возникает только при закрытом приложении Outlook и исполняется исправно, когда Outlook изначально запущен.
Дано:
Outlook 2019 64 разрядная версия
OS Windows 10 x64
Python 3.9
Приложение пишется в IDE pycharm под админской учеткой.

Код:
import win32com.client as win32
outlook = win32.Dispatch(“Outlook.Application”)

Ошибка:
Traceback (most recent call last):
File “C:\Python39\lib\site-packages\win32com\client\dynamic.py”, line 81, in _GetGoodDispatch
IDispatch = pythoncom.connect(IDispatch)
pywintypes.com_error: (-2147221021, ‘Операция недоступна’, None, None)

Каким образом можно решить эту проблему? Как можно обработать эту ошибку и запустить из python приложение outlook до выполнения win32.Dispatch(“Outlook.Application”)?
  • Вопрос задан
  • 64 просмотра
Пригласить эксперта
Ответы на вопрос 2
Это указывает на то, что Outlook не установлен. " windows live " или " outlook.com " вам не помогут.
У меня была похожая ошибка. Вы пробовали запустить makepy.py из папки win32com, чтобы создать записи для различных COMobject, которые вы используете? В принципе, win32com просто рассматривает все приложения, с которыми вы взаимодействуете, как COMobjects по умолчанию, пока вы не позволите ему узнать о программах, установленных на вашем компьютере. Вам придется запустить makepy.py для каждой программы, которой вы хотите управлять с ее помощью.

После того, как я запустил его, я получил доступ к гораздо большему контролю для Outlook. Он открыл другие ошибки, над исправлением которых я работаю.

Кроме того, если вы возьмете свой comobject ( comboject = win32com.client.Dispatch("Outlook.Application") ) и посмотрите на comboject._prop_map_get_.keys() , вы увидите все, что вы можете использовать для этой программы.
Ответ написан
Комментировать
@RinatG80 Автор вопроса
Как было отмечено в вопросе - код работает при запущенном приложении Outlook. Это говорит о том, что предположение о неустановленном Outlook несостоятельно. Может еще варианты или мысли есть?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы