Laden...

C# aus Word

Erstellt von rw72 vor 18 Jahren Letzter Beitrag vor 18 Jahren 3.456 Views
R
rw72 Themenstarter:in
20 Beiträge seit 2004
vor 18 Jahren
C# aus Word

Hallo zusammen,

ich will aus C# Word Dokumente erstellen - automatsich speichern und auch wieder öffnen.
Sollte man das mit Interop machen oder gibt es eine Möglichkeit das man es Versionsunabhängig machen kann?
Habe mehrfach probiert Interop zu benutzen (benutze aber kein VS sondern SharpDevelop) wie funktioniert es wenn ich die Software auch weitergeben will das er den Pfad immer findet?

Danke
Ralf

N
4.644 Beiträge seit 2004
vor 18 Jahren
R
rw72 Themenstarter:in
20 Beiträge seit 2004
vor 18 Jahren

Das hab ich probiert da bekomme ich aber immer die Meldung das thisApplication nicht gültig ist.

N
4.644 Beiträge seit 2004
vor 18 Jahren

Schau Dir mal hier ein paar Links an.

2.921 Beiträge seit 2005
vor 18 Jahren

Funktionieren kann die Word bzw. Office-Automation nur wenn auch Word installiert ist...

Seit der Erkenntnis, dass der Mensch eine Nachricht ist, erweist sich seine körperliche Existenzform als überflüssig.

R
rw72 Themenstarter:in
20 Beiträge seit 2004
vor 18 Jahren

Das ist logisch - das muss man ja wohl nicht extra erwähnen!

3.728 Beiträge seit 2005
vor 18 Jahren

Original von rw72

Sollte man das mit Interop machen oder gibt es eine Möglichkeit das man es Versionsunabhängig machen kann?

Es gibt 2 Möglichkeiten: Interop oder XML. Wenn Du mit dem Word-Objektmodell arbeiten willst, musst Du es über die Primary Interop Assemblies machen. Das liegt daran, dass Word nun mal eine COM Anwendung ist. Seit Word 97 hat sich im Großen und Ganzen am Briefe schreiben nicht viel geändert. Über ein Document-Objekt eird ein Word-Dokument manipuliert usw. Wenn Du von der Word-Version unabhängig sein willst, musst Du auf Werkzeuge aus System.Reflection und System.Runtime.InteropServices zurückgreifen. Das funktioniert super, benötigt aber ca. die 10fache Entwicklungszeit.

Du könntest aber auch sagen "Moderne Menschen brauchen moderne Tools!" und alle alten Word-Version auf Word 2003 migrieren (Dann freut sich Onkel Bill 😉). Dann könntest Du ohne Probleme mit den Interop Assemblies arbeiten.

Das neue Word 2003 kann aber noch was viel besseres. Anstatt im alten DOC-Format können Word-Dokumente auch im offenen XML-Format erstellt und gespeichert werden. Das heißt, dass Du Word-Dokumente ganz ohne Word erzeugen kannst (zum Anzeigen brauchst Du schon noch ein Word 2003). Mit Excel 2003 etc. geht das übrigens auch. Stell Dir vor Du müsstest auf einem Java App-Server Excel-Berichte mit Diagrammen erzeugen und per Mail versenden. Da XML letztendlich reiner Text ist, kannst Du es mit jeder Programmierumgebung erzeugen und verarbeiten. Deine Word-XML-Dokumente müssen nur dem Word 2003-XML-Schema genügen.

Microsoft bietet ein spezielles SDK für Word 2003 XML Funktionen zum download an. Dort gibt es Beispiele, weiterführende Dokumentation etc.

http://msdn.microsoft.com/library/en-us/WordXMLCDK/html/WelcomeWordCDK_HV01147170.asp?frame=true

Ich rate Dir auf jeden Fall zur XML-Variante. In spätestens zwei Jahren werden die meisten Programme XML als Datenformat verwenden. Die XML-Technologieen XML, XSL/XSLT, XPath und XSD (Schema) sollten heute jedem Entwickler vertraut sein.

N
4.644 Beiträge seit 2004
vor 18 Jahren

Original von dr4g0n76
Funktionieren kann die Word bzw. Office-Automation nur wenn auch Word installiert ist...

Das stimmt nicht ganz. Es gibt auch .NET Wrapper, die ohne Word funktionieren.

3.728 Beiträge seit 2005
vor 18 Jahren
Wrapper ohne Word

Die standardmäßigen Interop Assemblies von Microsoft funktionieren aber nicht ohne Word. Oder weiß ich da was nicht, was ich wissen sollte?

Wenn es andere Wrapper gibt, her damit! Hast Du mehr Infos darüber?

N
4.644 Beiträge seit 2004
vor 18 Jahren

Original von Rainbird
Die standardmäßigen Interop Assemblies von Microsoft funktionieren aber nicht ohne Word. Oder weiß ich da was nicht, was ich wissen sollte?

Da hast Du natürlich recht.

Original von Rainbird
Wenn es andere Wrapper gibt, her damit! Hast Du mehr Infos darüber?

Schau mal hier. Ist allerdings nicht die ganze Pallette wie bei den Interop Assemblies vorhanden. Aber sie wollen IMHO nach und nach erweitern.

3.728 Beiträge seit 2005
vor 18 Jahren
Danke

Danke! Das kann ich bestimmt mal gebrauchen.