【问题标题】:Error with win32com.client.GetObject when connecting to SAP GUI连接到 SAP GUI 时 win32com.client.GetObject 出错
【发布时间】:2020-08-09 06:14:45
【问题描述】:

亲爱的, 首先,这是我第一次在 Stackoverflow 上提问,如果我没有遵循正确的方法,请原谅我。

在遇到 win32com 的问题时,恳请您提供帮助。 我正在尝试连接到 SAP GUI 以自动执行某些任务。

import win32com.client

SapGuiAuto = win32com.client.GetObject('SAPGUI')

我收到以下错误(直到昨天一切正常..):

Traceback (most recent call last):
  File "C:/Users/xxxxx/AppData/Roaming/JetBrains/PyCharmCE2020.1/scratches/PySAPscript.py", line 157, in <module>
    SAP_OP()
  File "C:/Users/xxxxx/AppData/Roaming/JetBrains/PyCharmCE2020.1/scratches/PySAPscript.py", line 18, in SAP_OP
    SapGuiAuto = win32com.client.GetObject('SAPGUI')
  File "C:\Users\xxxxx\PycharmProjects\yyyyyy\venv\lib\site-packages\win32com\client\__init__.py", line 72, in GetObject
    return Moniker(Pathname, clsctx)    
  File "C:\Users\xxxxxx\PycharmProjects\yyyyyyy\venv\lib\site-packages\win32com\client\__init__.py", line 87, in Moniker
    moniker, i, bindCtx = pythoncom.MkParseDisplayName(Pathname)
pywintypes.com_error: (-2147221020, 'Invalid syntax.', None, None)

我找到了一些关于此问题的文档,建议使用 pythoncom.CoInitialize():

Using win32com with multithreading

但是我不知道如何使用这个函数来达到我的目的。

感谢您的帮助!

【问题讨论】:

    标签: win32com sap-gui pythoncom moniker


    【解决方案1】:

    考虑到您有变量 (SAP_Path, SAP_system_id, SAP_group) 或 (SAP_Path, SAP_sid, SAP_instance_no) 代替...

    shell = win32com.client.Dispatch("WScript.Shell")
    
    
    call(SAP_Path + " /R/" + SAP_system_id + "/G/" + SAP_group)
    OR: call(SAP_Path + " " + SAP_sid + " " + SAP_instance_no)
    
        
    sap_gui_obj = win32com.client.GetObject("SAPGUI")
    application = sap_gui_obj.GetScriptingEngine
    connection = application.children(application.connections.count - 1)
    session = connection.children(0)
    session.findById("wnd[0]").maximize()
    

    然后连接到你的基地。

    【讨论】:

      【解决方案2】:

      我最近也遇到了这个问题。

      sap和python的启动权限不一样。 例如,这两个都应该以管理员权限运行,或者以普通用户权限运行。

      我不保证这个方法能解决你的问题,但是你可以试试:)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-12-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-03
        • 1970-01-01
        相关资源
        最近更新 更多