![]() |
MS Word / Excel in Form einbetten
Hi,
Vorab sorry falls die Frage schon einige Male gefallen ist, aber ich habe leider weder im Forum noch bei Google eine passende Antwort bekommen. Ich möchte MS Word und Excel Dokumente in einem VCL Formular anzeigen. Ich habe es bereits über den TWebBrowser versucht, dieser ruft jedoch nur den "Speichern unter / öffnen" Dialog auf und der startet direkt Word / Excel. Kann man da vielleicht etwas über Einstellungen machen? Am liebsten wäre es mir, wenn ich Word / Excel (inklusive Menü) in mein Formular einbetten könnte. Hintergrund: Der Kunde soll die Dokumente direkt in meiner Anwendung lesen, bearbeiten und speichern können. Evtl. kennt jemand eine Komponente die das unterstützt. Sie kann ruhig auch Geld kosten. ;) P.S.: Ich habe mich schon mit WPTools und TRichView beschäftigt. Beide haben mich jedoch enttäuscht. Daher möchte ich nun direkt die Office Produkte benutzen. Kennt jemand vielleicht eine alternative zu den beiden Komponenten? Vielen Dank im Voraus. QStorm |
AW: MS Word / Excel in Form einbetten
Zitat:
![]() Die alternative Einbeddung wäre über einen OleContainer. (TOleContainer). |
AW: MS Word / Excel in Form einbetten
Zitat:
1. Wie kann ich den OleContainer direkt beim öffnen des Dokuments in den Editier-Modus versetzen (manuell über: Rechte Maustaste auf den Container -> Öffnen oder Bearbeiten)? Sprich er soll nicht das Preview anzeigen sondern gleich das Dokument in der entsprechenden Anwendung öffnen. 2. Bei Öffnen von Office Dokumenten (Excel, Word) werden die Office Ribbons über den eigentlichen OleContainer angezeigt. Leider verdecken sie so einige meiner Widgets. Zudem gehen die Ribbons über die gesamte Fentserbreite (egal wie groß der OleCOntainer ist). Kann man die Ribbons irgendwie in den TOleContainer verschieben? Ansonsten wäre der OleContainer bei Office Dokumenten für mich unbrauchbar. Grüße QStorm |
AW: MS Word / Excel in Form einbetten
Ein Punkt habe ich noch vergessen:
Leider habe ich es bisher nicht hinbekommen, geöffnete Office Dokumente zu speichern (der Speichern-Button ist deaktiviert). Kann man in einem TOleContainer editierte Dokumente irgendwie speichern? Im besten Fall direkt über die specihern-Funktionalität der eingebetten Anwendung (Office z.B.) |
AW: MS Word / Excel in Form einbetten
Und noch etwas ist mir aufgefallen. *.doc Dateien machen keine Probleme. Wenn ich jedoch *.docx Dokumente öffne und in den Editier-Modus wechsel kommt die Meldung:
"Objekt ist nicht mit dem Server verbunden." Kann mir jemand sagen woran das liegt? |
AW: MS Word / Excel in Form einbetten
Zitat:
Delphi-Quellcode:
OleContainerExcel.DoVerb(ovShow);
|
AW: MS Word / Excel in Form einbetten
hoi,
Zitat:
oder via Code indem Du den entsprechenden Parameter verwendest für OleContainer.doVerb( xxx ) Zitat:
Zitat:
Du kannst speichern --> über F12 den Dialog aufrufen oder fängst entsprechend den Key ab und führst deine eigene Prozedur aus. cya |
AW: MS Word / Excel in Form einbetten
Zunächst erstmal vielen Dank für die bisherigen Antworten.
Zitat:
Zitat:
Kann man den über F12 erreichbaren Dialog auch im Code aufrufen? z.B. Wenn man ein eigener Button gedrückt wird. Ich meine keinen eigenen SaveDialog sondern den von der im OleContainer angezeigten Anwendung (z.B. Word oder Excel). |
AW: MS Word / Excel in Form einbetten
Ich sehe gerade das die Ribbons bzw. die Toolbars selbst die eigenen Scrollbars überdecken. Ist das vielleicht ein Bug im OleContainer. Ich kann mir schwer vorstellen, dass das so gewollt ist.
|
AW: MS Word / Excel in Form einbetten
Hat niemand eine Idee?
|
AW: MS Word / Excel in Form einbetten
Zitat:
Pushen von Beiträgen ist erst nach 24h erwünscht. Möchtest du noch etwas schreiben, so kannst du auch deinen Beitrag innerhalb von 24h editieren, brauchst also keinen neuen Beitrag verfassen. |
AW: MS Word / Excel in Form einbetten
Hallo,
ich habe im Prinzip das selbe Problem. Mein OleContainer liegt in einem Frame auf dem Form. Es klappt auch, dass sich Word startet usw.. Nun tauchen aber 2 Probleme auf: 1. Der Ribbon legt sich über Bereiche außerhalb des Frames wo er eigentlich gar nicht hingehört. Außerdem überdeckt er Teile des Dokuments (je nach Kopfzeilengröße teilweise sogar die ersten Zeilen komplett). 2. Wenn ich Problem 1. umgehen will indem ich den Fokus vorübergehend in ein Textfeld außerhalb des OleContainers setze um den Ribbon auszublenden schmiert Word ab, sobald ich über das Context-Menü irgendwelche Änderungen an der Schriftgröße machen will. Ich habe schon versucht ggf. auf OpenOffice zu wechseln, das funktioniert aber gar nicht so wie ich das will (und die Dokumentation ist noch bescheidener als die von Microsoft...) Gibt es keine alternative Komponente zum OleContainer? Ein Wechsel zu einer alten Word-Version habe ich mir auch schon überlegt (ohne Ribbon), das kommt langfristig aber eigentlich nicht als Lösung in Frage. Die in einigen Beiträgen vorgeschlagene Methode das Word-Menü durch ein eigenes TMainMenu zu ersetzen scheint bei einer Word-Version mit Ribbon überhaupt nicht zu funktionieren. Bin langsam echt am verzweifeln... :pale: Wäre für jeden Tipp dankbar! Edit: Habe eben von 2007er auf 2010 Word gewechselt und feststellen müssen dass sich in der 2010 Version auch noch die Navigationsschaltfläche einfach auf die linke Seite meines Forms einnistet.... Mittlerweile hab ich den Eindruck dass die Combo OleContainer mit Word > Version 2000 nicht gut harmoniert. Hoffe mal weiter, dass jemand von euch eine Lösung hat. |
AW: MS Word / Excel in Form einbetten
Hallo,
aus welchem Grund wird überhaut der OLEContainer benutzt? Bis bald Chemiker |
AW: MS Word / Excel in Form einbetten
Hallo, danke für die schnelle Reaktion.
Ich will aus einer Textbox, die sich über eine Listview mit verschiedenen Inhalten füllt, markierte Textanteile in ein Worddokument kopieren. Da man sich die Texte aus mehreren Einträgen zusammenkopieren muss, soll das ganze im gleichen Form sein, damit man nicht ständig zwischen der Anwendung und einem extern geöffneten Word wechseln muss. Erster Ansatz war ein RichEdit, aus dem dann nach Abschluß des Kopierens ein Word Dokument generiert wird. Da aber verschiedene Word-Vorlagen Basis sein sollen mußte ich diesen Ansatz verwerfen. |
AW: MS Word / Excel in Form einbetten
Ich habe die Erfahrung gemacht dass es besser ist, die Finger davon zu lassen. Du kannst zwar Teile des Ribbons ausblenden, aber nicht alles, außerdem musst du es danach wieder einblenden etc. Es nistet sich immer oben im Formular ein. Außerdem hatte ich auch Probleme mit der Größe... das habe ich aber wegbekommen, indem du den OLE-Container kleiner erzeugst, es anzeigst und dann vergrößerst. Einfach ein bisschen damit rumspielen. Sauber ist das allerdings nicht.
|
AW: MS Word / Excel in Form einbetten
Hallo beamer,
soll der User im Word-Dokument weiter arbeiten? Und wenn ja, welche Manipulationen soll er im Word-Dokument vornehmen? Bis bald Chemiker |
AW: MS Word / Excel in Form einbetten
Danke ein weiteres Mal für die Antworten! :-D
Ich habe mittlerweile auch festgestellt, dass je nach Art des Aligns das Verhalten des Containers verschieden ist. Seltsam... Die Methode mit dem kleinen Container werde ich gleich mal testen. Naja, zu deiner Frage Chemiker: ja, die User sollen die möglichkeit haben das Word Dokument wenn sie die Texte kopiert haben frei zu formatieren und ggf. auch noch Freitexte dazuerfassen können. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz