MS-Word ind einem activeXcontainer?

Rund um die LCL und andere Komponenten
Antworten
hde
Beiträge: 556
Registriert: Mi 11. Aug 2010, 02:56

MS-Word ind einem activeXcontainer?

Beitrag von hde »

Hallo Zusammen,
hat Jemand Erfahrungen mit MS-Word in einem ActiveXContainer?
hde

hde
Beiträge: 556
Registriert: Mi 11. Aug 2010, 02:56

Re: MS-Word ind einem activeXcontainer?

Beitrag von hde »

offensichltich Niemand? - schade

gocher
Beiträge: 298
Registriert: Di 23. Nov 2010, 23:41
OS, Lazarus, FPC: Ubuntu/Win, Lazarus trunk, FPC trunk
CPU-Target: 32Bit/64Bit
Wohnort: Geldern
Kontaktdaten:

Re: MS-Word ind einem activeXcontainer?

Beitrag von gocher »

Sorry, Deine Frage habe ich gar nicht war genommen, ich bin zur Zeit zu viel in anderen Foren und Netzwerken unterwegs.

Mit ActiveXContainer hatte ich schon einiges zu tun, mit Automatisierung von Word, Excel, IE, ... auch, aber noch noch nicht beides zusammen!
Aber kannst Du mehr Infos zu Deinem Problem preisgeben, vielleicht kann ich zumindest aus dem Zusammenhang Tipps oder sogar einen Lösungsansatz geben.
MfG Gocher
akt. Projekt: Webserver(HTTPS HTTP/2) mit integrierten CMS in Free Pascal - www.gocher.me

hde
Beiträge: 556
Registriert: Mi 11. Aug 2010, 02:56

Re: MS-Word ind einem activeXcontainer?

Beitrag von hde »

danke gocher, da weiß ich wenigstens schon mal, dass es offenbar geht.

Also ..um Word per Ole zu steuern gibt's kein Problem, aber ich hätt's gern im Container wie unter bisher delphi.

VLC und IE laufen ja unter Laz im ActiveX-Container und das sollte wohl eigentlich auch mit Word gehn, aber da hab ich noch keinen richtigen Ansatz gefunden und hab deshalb gefragt, ob's überhaupt geht oder gar Jemand einen Tipp hat.

Für jeden Hinweis wäre ich dankbar

hde

gocher
Beiträge: 298
Registriert: Di 23. Nov 2010, 23:41
OS, Lazarus, FPC: Ubuntu/Win, Lazarus trunk, FPC trunk
CPU-Target: 32Bit/64Bit
Wohnort: Geldern
Kontaktdaten:

Re: MS-Word ind einem activeXcontainer?

Beitrag von gocher »

Also als erstes solltest Du die Funktion "Import Type Library" unter Werkzeuge nutzen und z.B.C:\Program Files\Microsoft Office\Office10\MSWORD.OLB "Microsoft Word 10.0 Object Library version 8.2" importieren, je nach Office Version etwas anders, ich habe leider kein Word auf meinem Rechner :)!
Dadurch steht dir dann eine xx_tlb.pas-Datei zur Verfügung, mit der visuellen Komponente, die ist ja auch interessant für Automatisierung jeder Art!
Wenn die Datei dann in der Uses Section in der Unit deines Projekts eingebunden ist, stehen dir alle Eigenschaften des Objekts zur Verfügung, dort sollte dann auch activexcontainer eingefügt werden.
Dann ziehst du einen ActiveXContainer auf dein Form der Unit und in TFormX.FormCreate sollte das Word-Objekt erzeugt werden, und dann dem ActiveXContainer1 zugeordnet werden.
Also beim Internet Explorer war es so:

Code: Alles auswählen

  Browser := TEvsWebBrowser.Create(Self);
  ActiveXContainer1.ComServer := Browser.ComServer;
  ActiveXContainer1.Active := true;        
und mit Word sollte es ähnlich sein ~ ?

Code: Alles auswählen

  Word := TEvsWord.Create(Self);
  ActiveXContainer1.ComServer := Word.ComServer;
  ActiveXContainer1.Active := true;   
MfG Gocher
akt. Projekt: Webserver(HTTPS HTTP/2) mit integrierten CMS in Free Pascal - www.gocher.me

hde
Beiträge: 556
Registriert: Mi 11. Aug 2010, 02:56

Re: MS-Word ind einem activeXcontainer?

Beitrag von hde »

danke gocher,

so ähnlich hatte ich es versucht, aber anders als beim IE ist es mir mit Word nicht gelungen, deshalb auch meine Frage ob es überhaupt geht.

Jetzt werde ich mich ochmal intensiv bemühen, bin heute aber leider den ganzen Tag unterwegs.

schönen Sonntag noch
hde

hde
Beiträge: 556
Registriert: Mi 11. Aug 2010, 02:56

Re: MS-Word ind einem activeXcontainer?

Beitrag von hde »

Ich hab heute Abend/Nacht doch noch eine Menge probiert, leider wieder ohne Erfolg.

Die ..TLB.pas zu erzeugen ist kein Problem, man kann auch eine .lpk erzeugen und einbinden und erhält dann mehrere ActiveX-Container. Nur weder mit der einen noch anderen Methode bin ich bisher weitergekommen. Die erzeugten Container haben nette Properties aber leider alle von mir versuchten sind readonly.

Mit dem Original ActiveX-Container komm ich deshalb nicht weiter, weil ich nicht finde wo TEvsWord o.dgl. herkommen soll. Also kann ich keinen Comserver creieren. Das Zuweisen von Oleobjecten klappt natürlich auch nicht.

Sobald ich etwas Luft hab werd ich mich noch mal ein paar Stunden reinhängen.

Trotzdem erst mal danke
hde

Antworten