COM-Kommunikation mit Polyworks mithilfe von pywin32
Verfasst: Montag 7. April 2014, 08:58
Guten Morgen liebe Community,
um mich kurz vorzustellen: 24 Jahre alt, Student und arbeite momentan an meiner Bachelorarbeit. Hierbei werde ich unter anderem ein Tool in Python (für mich neue Sprache) erstellen, welches über das COM mit einer Software Namens Polyworks kommunizieren soll. Nun habe ich bereits das Programm über die COM starten können, was wie folgt aussieht:
Das Starten über die CLSID funktioniert auch wunderbar.
Ich habe schon sehr viel in Foren gelesen, bin aber am verzweifeln... Das Problem ist nämlich, dass ich bei diesem Programm zusätzlich einen CommandCenter starten muss, um richtig mit den Funktionen des Programms arbeiten zu können. Im Handbuch steht dabei für die Sprachen C++ und VisualBasic folgender Code:
ppIIMCommandCenter_ ist dabei ein Zeiger um das neue CommandCenter zu empfangen.
Jetzt stellt sich eben für mich die Frage, wie sich das in Python gestaltet, vielleicht kann mir das ja einer hier beantworten, wäre jedenfalls super!
Außerdem verstehe ich folgendes noch nicht bzgl. COM bei z.B. Excel:
Der Code um in Excel ein neues Workbook zu erstellen heißt Workbooks.Add(). Der Code in Python heißt dafür test.Workbooks.Add(). Möchte ich aber in einer Zelle schreiben, heißt es nur xlSheet.Cells(1,1).Value="hello" , ich benenne also kein test (Objekt?) mehr.
Ich wäre Euch unglaublich dankbar, wenn Ihr mir dabei helfen könntet!
um mich kurz vorzustellen: 24 Jahre alt, Student und arbeite momentan an meiner Bachelorarbeit. Hierbei werde ich unter anderem ein Tool in Python (für mich neue Sprache) erstellen, welches über das COM mit einer Software Namens Polyworks kommunizieren soll. Nun habe ich bereits das Programm über die COM starten können, was wie folgt aussieht:
Code: Alles auswählen
from win32com.client import Dispatch
test = Dispatch("Polyworks")
Ich habe schon sehr viel in Foren gelesen, bin aber am verzweifeln... Das Problem ist nämlich, dass ich bei diesem Programm zusätzlich einen CommandCenter starten muss, um richtig mit den Funktionen des Programms arbeiten zu können. Im Handbuch steht dabei für die Sprachen C++ und VisualBasic folgender Code:
Code: Alles auswählen
#C++
HRESULT CommandCenterCreate( [ out ] IIMCommandCenter **ppIIMCommandCenter_ )
#VB
Sub CommandCenterCreate( ByRef ppIIMCommandCenter_ As IIMCommandCenter )
Jetzt stellt sich eben für mich die Frage, wie sich das in Python gestaltet, vielleicht kann mir das ja einer hier beantworten, wäre jedenfalls super!
Außerdem verstehe ich folgendes noch nicht bzgl. COM bei z.B. Excel:
Code: Alles auswählen
from win32com.client import Dispatch
test = Dispatch("Excel.Application")
xlBook = test.Workbooks.Add()
xlSheet = xlBook.Sheets(1)
xlSheet.Cells(1,1).Value="hello"
Ich wäre Euch unglaublich dankbar, wenn Ihr mir dabei helfen könntet!