SapGui mit PythonWin steuern

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
greg_urban
User
Beiträge: 2
Registriert: Samstag 1. November 2008, 12:02

Samstag 1. November 2008, 12:14

Hello zusammen,

mein Versuch SAPGUI mit PythonWin zu skripten war leider nicht erfolgreich.

Unten stehen 2 Code-Abschnitte:
- funktionierender Javascript Code
- nicht funktionierender Python Code

Wer weis' Rat?

Umgebung ist: Python 2.5.2, PythonWin Build 210, Windows XP

Danke im Voraus für euere Hilfe
Gregor

Code: Alles auswählen

==== Javascript, working ====
	var wrapper = new ActiveXObject("SapROTWr.SapROTWrapper");
	var rotEntry = wrapper.GetROTEntry ("SAPGUI");
	var application = rotEntry.GetScriptingEngine();
==== Javascript ====

==== win32com, not working ====
PythonWin 2.5.2 (r252:60911, Feb 21 2008, 13:11:45) [MSC v.1310 32 bit (Intel)] on win32.
Portions Copyright 1994-2006 Mark Hammond - see 'Help/About PythonWin' for further copyright information.
>>> import win32com.client
>>> wrapper = win32com.client.Dispatch("SapROTWr.SapROTWrapper")
>>> rotEntry = wrapper.GetROTEntry ("SAPGUI")
>>> application = rotEntry.GetScriptingEngine()
Traceback (most recent call last):
  File "<interactive input>", line 1, in <module>
  File "C:\Program Files\Python25\lib\site-packages\win32com\client\dynamic.py", line 172, in __call__
    return self._get_good_object_(self._oleobj_.Invoke(*allArgs),self._olerepr_.defaultDispatchName,None)
com_error: (-2147352573, 'Member not found.', None, None)
>>>
==== win32com ====
greg_urban
User
Beiträge: 2
Registriert: Samstag 1. November 2008, 12:02

Samstag 1. November 2008, 18:45

Die Loesung besteht darin:

dies

Code: Alles auswählen

application = rotEntry.GetScriptingEngine()
durch das

Code: Alles auswählen

application = rotEntry.GetScriptingEngin
zu ersetzen, da aus unerfindlichen Gruenden win32com GetScriptingEngine als property, nicht als methode ansieht ...
Antworten