Я пытаюсь использовать pywin32 для управления SAS Enterprise Guide с помощью Python. Но я сталкиваюсь с некоторыми ошибками. Я пробовал и Dispatch и EnsureDispatch, но оба возвращают ту же ошибку:
Traceback (most recent call last):
File "C:\ProgramData\Anaconda3\lib\site-packages\win32com\client\dynamic.py", line 89, in _GetGoodDispatch
IDispatch = pythoncom.connect(IDispatch)
pywintypes.com_error: (-2147221021, 'Operation unavailable', None, None)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "c:\Users\xxxxxxx\Desktop\test.py", line 4, in <module>
sas = EnsureDispatch('SASEGObjectModel.Application.7.1')
File "C:\ProgramData\Anaconda3\lib\site-packages\win32com\client\gencache.py", line 527, in EnsureDispatch
disp = win32com.client.Dispatch(prog_id)
File "C:\ProgramData\Anaconda3\lib\site-packages\win32com\client\__init__.py", line 95, in Dispatch
dispatch, userName = dynamic._GetGoodDispatchAndUserName(dispatch,userName,clsctx)
File "C:\ProgramData\Anaconda3\lib\site-packages\win32com\client\dynamic.py", line 114, in _GetGoodDispatchAndUserName
return (_GetGoodDispatch(IDispatch, clsctx), userName)
File "C:\ProgramData\Anaconda3\lib\site-packages\win32com\client\dynamic.py", line 91, in _GetGoodDispatch
IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx, pythoncom.IID_IDispatch)
pywintypes.com_error: (-2147024809, 'The parameter is incorrect.', None, None)
(Это при использовании EnsureDispatch, ошибка при использовании Dispatch практически одинакова, только без 2-й и 3-й строк после второй трассировки).
Кроме того, я попытался запустить makepy (из той же библиотеки), чтобы посмотреть, что он вернет, и я получил следующее сообщение:
Не удалось найти библиотеку типов, соответствующую 'SASEGObjectModel.Application.7.1'
Если я попытаюсь сделать это с помощью VBS, используя следующий код:
Set app = CreateObject("SASEGObjectModel.Application.7.1")
WScript.echo app.Name
В нем отображается окно сообщения с надписью «Руководство для предприятия», показывающее, что объект доступен для системы.