Templates by BIGtheme NET
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
  • Seite:
  • 1

THEMA:

OLE Objektrelais 31 Mär 2023 11:55 #1

  • daywalker
  • daywalkers Avatar Autor
  • Offline
  • Platinum Boarder
  • Platinum Boarder
  • Beiträge: 781
  • Dank erhalten: 588
Hallo liebe CX User

Ich versuche nun schon geraume Zeit eine Möglichkeit zu finden, um Programme (vorzugsweise Excel, Word usw.) über das COM oder OLE Objekt zu steuern,zu formatieren und Daten zwischen Clickexe und z.B Excel auszutauschen. Der 'OLEObjekt' Befehl wird da aber noch einige Zeit brauchen und da dachte ich mir, warum nicht gleich zusätzlich ein Windowsbordmittel verwenden, daß sich unkompliziert mit dem 'Starte' Befehl zur "Zusammenarbeit" mit Clickexe5 verwenden lässt. Mit den beigefügten Skriptzeilen lässt sich das nun realisieren. Wichtig ist dabei, das Clickexe5 zuerst mittels des 'OLEObjekt'-Befehls' in unserm Fall ein 'Excel Objekt' (Excel.Application) erstellt, um dann in Zeile 6 des Skriptes
mittels Powershell mit $xl =[$] [Runtime.Interopservices.Marshal]::GetActiveObject('Excel.Application') das mittlerweile erstellte Excelobjekt abzufragen und sich anzueignen :-).
So kann eigentlich endlos(also bis das Clickexe Skript beendet wird) Interaktion zwischen Clickexe5 und Software wo das OLE- oder COM Objekt dies anbietet, hergestellt werden.

cX4Web cX4Web Code

Was ist das?

1 *** Excel,Powershell Objektrelais (Noch nicht probiert, sollte aber auch mit Word;Powerpoint;Access usw. funktionieren
2
3 *** Hier wird mit dem OLEObjekt-Befehl ein Excel Applicationobjekt erstellt.
4 OLEObjekt ID='excelapp' Name='Excel.Application' in [erg]
5 *** Hier schaut die Powershell nach einem existierenden Excel Application Objekt.¶Wiird dies gefunden, wird Excel geöffnet. Sonst kommt ein Fehler.
6 Starte powershell.exe, warten bis beendet, Konsole, sende '$xl =[$] [Runtime.Interopservices.Marshal]::GetActiveObject('Excel.Application')¶$xl.visible=$true¶exit', verborgen
7 *** Nun wiederum erstellt Clickexe mit dem OLEObjekt-Befehl ¶in Excel 1 neues Arbeitsblatt mit Tabelle...
8 OLEObjekt ID='oWorkbook' Name='excelapp' Eigenschaft='Workbooks.add'
9 *** Hier nun wieder die Powershell, die mir im Tabellenblatt nun in der Zelle A1 einen¶Eintrag vornimmt.
10 Starte powershell.exe, warten bis beendet, Konsole, sende '$xl =[$] [Runtime.Interopservices.Marshal]::GetActiveObject('Excel.Application')¶$Sheet1 = $xl.worksheets.item(1)¶$Sheet...', verborgen
11 *** Der 'Warte' Befehl hält nun mein Excel-Objekt solange am "Leben" (und ich kann es auch immer wieder ansprechen), bis das Skript beendet wird.¶Man kann nun Excel nach 'Belieben' steuern. Hier ergeben sich nun tatsächlich sehr schöne Datenaustausch und Steuermöglichkeiten.
12 Warte Endlos (Warten auf zu behandelnde Ereignisse)

cX4Web Code: Einfach anklicken zum Kopieren und in click.EXE 5.0 einfügen


  (12 Zeilen, cX 5.0.10.1, Lizenz: Pro)


Wie immer zur freien Verwendung, für Interessierte zum Nachschlagen, ausprobieren, usw.
Bei besonderem Lizenzerfordernis bitte im Volltestmodus ausführen.

lg Christian

 
Folgende Benutzer bedankten sich: Soko, Bandit

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • Seite:
  • 1

Community

Wir benutzen Cookies

Wir nutzen Cookies auf unserer Website. Diese Cookies sind essenziell für den Betrieb dieser Website. Sie können selbst entscheiden, ob Sie die Cookies zulassen möchten. Bitte beachten Sie, dass bei einer Ablehnung womöglich nicht mehr alle Funktionalitäten der Seite zur Verfügung stehen.

Sie sind noch nicht Mitglied unserer Community? Melden Sie sich jetzt an!

Anmelden