OLE-Objekte ansprechen, aber wie?

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
Jag2ooo
User
Beiträge: 3
Registriert: Dienstag 10. Juli 2007, 09:16

Dienstag 10. Juli 2007, 09:27

Ich bin absoluter Neuling was Python angeht und ich habe von meiner firma die aufgabe bekommen, ein OLE-Objekt anzusprechen (ist in einer hauseigenen DLL gekapselt). Nun haben nachforschungen ergeben, dass ich "Makepy" benutzen soll, um aus einer DLL mir eine thypendeklaration generieren zu lassen und genau da liegt mein Problem. Nach einigem Suchen habe ich so nen Scrip auf meiner Platte gefunden, aber wenn ich versuche das auszuführen, bekomme ich permanent Fehlermeldungen, das die win32com nicht gefunden wurde und noch dieverse andere abhängigkeiten nicht da sind.

Wie auch immer, ich bin es langsam leid, stunden lang Dateien hin und her zu kopieren, nur damit Python die mal findet. Hat da jemand nen tutorial für mein Vorhaben oder eine schöne Referenz (zur not tuts auch ne englische)?

MfG: Jag2ooo
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Dienstag 10. Juli 2007, 21:49

Jag2ooo hat geschrieben:ein OLE-Objekt anzusprechen
[...]
win32com nicht gefunden
Hallo Jag2ooo!

Willkommen im Python-Forum!

Eigentlich wollte ich dir gar nicht antworten. Aber anscheinend waren auch andere meiner Meinung.

Wie auch immer, den Spruch kennst du sicher schon: Google ist dein Freund. Das was man vor ein paar Jahren noch OLE nannte, wurde danach zum COM und jetzt heißt dieses Etwas meist ActiveX.

Du brauchst "pywin32" http://sourceforge.net/projects/pywin32/ um auf COM-Objekte zugreifen zu können. Suche hier im Forum mal nach Excel. Dann findest du einige Beispiele, wie man auf so ein Objekt zugreifen kann.

Die Basis:

Code: Alles auswählen

import win32com.client 
com_class = win32com.client.dynamic.Dispatch("<APPNAME>.<CLASSNAME>")
Natürlich musst du <APPNAME> und <CLASSNAME> ersetzen.

mfg
Gerold
:-)
[url]http://halvar.at[/url] | [url=http://halvar.at/elektronik/kleiner_bascom_avr_kurs/]Kleiner Bascom AVR Kurs[/url]
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Jag2ooo
User
Beiträge: 3
Registriert: Dienstag 10. Juli 2007, 09:16

Mittwoch 11. Juli 2007, 08:13

haha, das Stichwort "Exel" hats gebracht - habs jetzt hinbekommen. Großes Dankeschön
Antworten