Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Automatisierung von Word 2003 (https://www.delphipraxis.net/24939-automatisierung-von-word-2003-a.html)

Delphi-Coder 28. Jun 2004 21:37


Automatisierung von Word 2003
 
Hallo,

ich habe ein Programm, welches für diverse Drucksachen Vorlagen in Word öffnet und dort einige Felder ausfüllt. Das hat bisher auch ganz gut geklappt. Nun hab ich es bei Office 2003 probiert und es funktioniert nicht mehr! :( :cry:

Gibt es da schon Komponenten für? Hat evtl. Borland schon ein Update dafür veröffentlicht?

Vielen Dank und viele Grüße
Delphi-Coder

:dp:

Niko 28. Jun 2004 21:45

Re: Automatisierung von Word 2003
 
Das ganze funktioniert auch ohne Komponenten ohne größeren Aufwand. Näheres findest du zum Beispiel wenn du nach Hier im Forum suchenCreateOleObject suchst.

Delphi-Coder 28. Jun 2004 21:49

Re: Automatisierung von Word 2003
 
Ja, schon. Da ich aber schon seeehr viel Quelltext damit habe, denke ich dass ein Update der Komponenten schneller geht. Hab nämlich keine Zeit mehr noch alles zu ändern! (das Prog geht morgen zum Kunden) Aber trotzdem Danke für die Anregung. :thuimb:

Niko 28. Jun 2004 22:40

Re: Automatisierung von Word 2003
 
Mit den Komponenten kenne ich mich nicht weiter aus, weil mir leider eine entsprechende Delphi-Version fehlt ...

Bernhard Geyer 29. Jun 2004 07:21

Re: Automatisierung von Word 2003
 
Was geht denn nicht?

Nach den Spierregeln von COM müssen neuere Versionen eines Programms die alte Version der Schnittstelle noch unterstützen, so daß Programm die diese Schnittstelle verwenden auch mit der neuen Version gehen.

Für dein Problem könnte es natürlich mehrere Gründe geben:

1, M$ hat das Verhalten/Schnittstelle geändert. -> Du mußt dein Programm anpassen
2, M$ hat aufgrund diverser Wurm/Virusattacken die verwendung der späten Bindung per CreateOleObject restriktiver gehanhabt -> Wenn geht auf frühe Bindung umstellen.
3, Borland hat in der Implementierung der Wrapper Fehler gemacht. Da die Sourcen vorhanden sind, sollten hier eigene Anpassungen vorgenommen werden können

Delphi-Coder 29. Jun 2004 07:39

Re: Automatisierung von Word 2003
 
Guten Morgen :zwinker: ,

danke für die Antwort. Was genau nicht geht kann ich gar nicht so sagen. Ich hab nämlich kein Office 2003 hier um es weiter auszutesten. Ich hab gestern auf nem Kundenrechner versucht Word zu starten, die Vorlage einzulesen und dann die entsprechenden Textmarken mit Inhalt zu füllen. Aber ich denke, dass der Fehler schon beim Öffnen von Word auftritt! (Es wurde nämlich gar nicht erst eine Instanz von Word geöffnet!)

Zitat:

1, M$ hat das Verhalten/Schnittstelle geändert. -> Du mußt dein Programm anpassen
Das ist eben die Frage, die mich interessiert.

Zitat:

2, M$ hat aufgrund diverser Wurm/Virusattacken die verwendung der späten Bindung per CreateOleObject restriktiver gehanhabt -> Wenn geht auf frühe Bindung umstellen.
Kann natürlich sein. Werde es nachher mal ausprobieren und bei (Miß-)Erfolg es hier wieder posten.

Zitat:

3, Borland hat in der Implementierung der Wrapper Fehler gemacht. Da die Sourcen vorhanden sind, sollten hier eigene Anpassungen vorgenommen werden können
Das liegt dann nicht mehr in meinem Bereich! :roll: Ich programmier zwar schon seit paar Jahren mit Delphi, aber solche Sachen traue ich mir nicht zu! :lol:

Viele Grüße!
Delphi-Coder

Bernhard Geyer 29. Jun 2004 07:57

Re: Automatisierung von Word 2003
 
Zitat:

Zitat von Delphi-Coder
Aber ich denke, dass der Fehler schon beim Öffnen von Word auftritt! (Es wurde nämlich gar nicht erst eine Instanz von Word geöffnet!)

Kommt den keine Fehlermeldung (von Word/deinem Programm)?

saschab 29. Jun 2004 08:49

Re: Automatisierung von Word 2003
 
Hi,
wenn Du z.B. Delphi 7 Benutzt kannst Du bei der Installation festlegen welche Komponenten benutzt werden sollen (Office 97, 2000 XP). Die 2000er Kompos passen nicht zu XP Office.

Delphi-Coder 29. Jun 2004 09:01

Re: Automatisierung von Word 2003
 
@Bernhard Geyer: Mein Programm zeigt nicht den genauen Fehler an. (wurde vom Kunden so gewünscht, damit er nicht verunsichert ist, wenn mal ein Fehler auftritt) Es zeigt halt nur an, das Word nicht geöffnet werden konnte. Ich lass aber während der Aktionen mit Word eine ProgressBar mitlaufen und daran kann ich ungefähr sehen, wo der Fehler auftritt. In diesem Fall klar beim Starten von Word.

@SaschaB: Wenn die 2000er-Kompos nicht zu Office XP passen ist das weniger schön. Ich muss gewährleisten, dass das Programm mind. von Office 97 - Office XP funktioniert. Wenn ich die Office XP-Kompos nutze, funktionieren die dann auch mit Office 2003?

Viele Grüße
Delphi-Coder

P.S.: :dp:

saschab 29. Jun 2004 10:07

Re: Automatisierung von Word 2003
 
Hi,
laut der Installationsroutine meines Delphi 7 Enterprise nicht, da steht extra angegeben das ein Mischbetrieb nicht möglich wäre. Wirst wohl doch auf COM unsteigen müssen oder Du benutzt Kompos von dritten die das Können.

Delphi-Coder 29. Jun 2004 10:13

Re: Automatisierung von Word 2003
 
Ok, danke! Dann werde ich das erstmal aufschieben und es später bearbeiten!

Viele Grüße und einen schönen Tag noch!
Delphi-Coder

Bernhard Geyer 29. Jun 2004 12:41

Re: Automatisierung von Word 2003
 
Zitat:

Zitat von Delphi-Coder
In diesem Fall klar beim Starten von Word.

Ohne genaue Fehlermeldung bringt das nichts. Es könnte z.B. sein das die Installation von Word nicht richtig funktionierte und deshalb die COM-Schnittstelle nicht richtig registriert ist
Zitat:

Zitat von Delphi-Coder
Wenn die 2000er-Kompos nicht zu Office XP passen ist das weniger schön. Ich muss gewährleisten, dass das Programm mind. von Office 97 - Office XP funktioniert. Wenn ich die Office XP-Kompos nutze, funktionieren die dann auch mit Office 2003?

Wenn Du die 97er-Version der Wrapper-Komponenten verwendest sollten diese (nach Theorie und richtiger implementierung dieser) auch mit Word 2003 funktionieren. Ein XP-Wrapper funktioniert definitiv nicht mit 97/2000-Versionen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:18 Uhr.

Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf