Hallo Zusammen,
hat Jemand Erfahrungen mit MS-Word in einem ActiveXContainer?
hde
MS-Word ind einem activeXcontainer?
Re: MS-Word ind einem activeXcontainer?
offensichltich Niemand? - schade
-
- 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?
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.
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
akt. Projekt: Webserver(HTTPS HTTP/2) mit integrierten CMS in Free Pascal - www.gocher.me
Re: MS-Word ind einem activeXcontainer?
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
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
-
- 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?
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:
und mit Word sollte es ähnlich sein ~ ?

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;
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
akt. Projekt: Webserver(HTTPS HTTP/2) mit integrierten CMS in Free Pascal - www.gocher.me
Re: MS-Word ind einem activeXcontainer?
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
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
Re: MS-Word ind einem activeXcontainer?
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
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