python - 尝试使用 win32com 使用 Python 调度 SASEGObjectModel COM 对象的问题
问题描述
我正在尝试使用 pywin32 使用 Python 操作 SAS Enterprise Guide。但我遇到了一些错误。我已经尝试过 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
它显示一个写有“企业指南”的消息框,表明该对象对系统可用。
解决方案
我曾尝试通过 SAS 支持社区寻求帮助,经过许多有趣的建议后,我仍然无法解决问题。但是我没有尝试并最终工作的一件事是安装新的python安装(不是Anaconda),安装PyWIN并且它很简单。
推荐阅读
- javascript - 如何通过数字获取变量javascript
- c++ - 为多平台和易于使用的项目组织文件
- javascript - 如何将一个数组的值分配给另一个数组?
- java - 在没有@Autowire 的情况下实例化 Java Spring 存储库接口
- javascript - 如何只导入一次 babel-polyfill
- javascript - 从前端编辑用户信息
- hadoop - 当mapreduce.framework.name设置为local时,如何通过yarn提交mapreduce作业时添加链接第三方库?
- netsuite - 如何从 SuiteTalk 中的客户记录初始化案例记录?
- django - django 检查电子邮件地址是否有效
- umbraco - Umbraco 404 期