WORD Dokument programmäßig updaten

Hi,
ich möchte ein Word-Dokument softwaremäßig erstellen. Dazu möchte ich z.B. Überschriften innerhalt des Textes softwaremäßig kennzeichnen dass hinterher aus dem Text mittels Word automatisch eine Überschrift formatiert wird. (Also Kennzeichen für Überschrift Anfang, Überschriften Ebene und Überschriften Ende) Ich möchte nicht nacharbeiten und alle Überschriften mit 1 usw. kennzeichnen.
Bitte helft mir!
Danke
Siegi

Hallo,

das ist grundsätzlich möglich, aber welches Ziel möchtest du denn erreichen bzw. welches Problem lösen?

Gruß,
Steve

1 Like

Hi!

Ich verstehe noch nicht ganz, was du eigentlich meinst.

Grundsätzlich sollte man ja mit Formatvorlagen arbeiten, in denen man einstellen kann, dass es eine Numerierung geben soll, und das das ganze in Schriftgröße 20 in pink gemacht werden soll. Daraus kann Word dann im nachgang auch automatisch ein Inhaltsverzeichnis erstellen.

Aus Sicht eines Softwareprogrammierers kann man Word aus einem anderen Programm heraus steuern, um dann z.B. Text in ein Dokument einzufügen. Dabei kann man auch sicher angeben, welche Formatvorlage grade verwendet werden soll.

Oder aber du hast bereits ein irgendwie geartetes Dokument, und willst darin Überschriften haben. Wenn das Dokument eine einfache Textdatei ist, wird das ganze schwer, weil es da keine solchen Markierungen gibt. Ggf. kannst du ein Dokument auch z.B. als HTML-Datei bekommen, denn HTML kennt auch Überschriften.

Also: Woher kommt dein Dokument, und was genau willst du erreichen?

2 Like

Word verwendet für Dokumente das „Office Open XML“-Format.
Damit kannst du mit externen Werkzeugen beliebig komplexe Word-Dokumente erstellen.
Die Spezifikation ist allerdings nicht ganz ohne, das ist nicht mal eben an einem Nachmittag getan.

Von wievielen Word-Dokumente mit welchem Seitenumfang redest du denn?

1 Like

Reden wir hier von immer wieder zu erstellenden Dokumenten, die sich nur im Inhalt unterscheiden? Von wo aus soll die Steuerung erfolgen? Ein anderes MS Office Programm? Der Klassiker hierfür wäre die Erzeugung einer Dokumentenvorlage mit allen benötigten Formatvorlagen für die Überschriften, in denen dann natürlich auch deren Gliederungsebene definiert ist. Und dann gibt es zwei Varianten: Für einfache Dokumente machts Du ein Beispieldokument, in dem jeder Absatz die passende Formatvorlage hat und nur einen Platzhaltertext enthält. Dann kannst Du von einer externen Anwendung dieses Beispieldokument mit VBA (Auslaufmodell) oder .net Core (zukunftssicher) öffnen, suchst nach den jeweiligen Platzhaltern, ersetzt diese durch die echten Absätze (ohne Absatzmarke!) und speicherst dann das Dokument unter seinem individuellen Namen. Alternativ kannst Du auch komplette Absätze unter Verwendung der in der Dokumentenvorlage definierten Formatvorlagen in ein neues, auf Basis der Vorlage erzeugtes Dokument schreiben, musst dann aber je nach mehr oder weniger aufwändigem Layout bedenken, wie Du was wo wie ansteuerst. Z.B. ein per Tabellen generierter Briefkopf ist definitiv deutlich einfach über die Platzhalter-Geschichte oder Textmarken in einem Beispieldokument zu füllen, als programmtechnisch jedes Mal neu zu erzeugen.

Die Texte werden aus verschiedenen Teilen einer Datenbank ausgelesen, z.T. mit Bildern angereichert. In diese Texte soll eben bei Bedarf auch die Formatierung (z.B. Fett, Kursiv usw.) und auch eine Kennzeichnung ob Überschrift oder Index-Inhalt eingefügt werden.

Was heißt „einer Datenbank“? Reden wir hier von Access, das unmittelbar eine Lösung über VBA im Zusammenspiel mit Word ermöglichen würde, oder muss da händisch ein Zugriff auf einen DB2-, Oracle, Progress-, … Server mit einer komplett selbst zu entwickelnden Lösung - sinnvollerweise dann unter .net Core - geschaffen werden?

Im Übrigen ist dein Ansatz mit der Kennzeichnung von Überschriften ein unnötig umständlicher. Man sollte solche Dinge immer über eine Dokumentenvorlage realisieren, in der die Absatzformate definiert werden, und dann keine irgendwie geartete Markierung vornehmen, die dann erst wieder auf die ohnehin benötigten Absatzformate in einem gesonderten Schritt in Word umgesetzt werden muss. Vielmehr sollte man gleich die Texte mit den passenden Absatzformaten der Vorlage versehen einfügen.

Ich hoffe, du zählst Access nicht zu den Datenbanken. Die Datenbank ist knapp 1TB groß

Das spielt hier keine Rolle. Zumindest bietet sich Access aber als Frontend für eine per ODBC hierüber ansteuerbare Datenbank (z.B. auf einem MS SQL Server) an, um eine Automatisierung zwischen Datenbank und MS Word per VBA recht einfach realisieren zu können.

Und mein Auto ist schwarz. Sorry, aber die Größe der DB ist hier vollkommen uninteressant! Interessant ist, auf welchem DB-System sie aufbaut und wie das von Access per ODBC oder über .net Core ansprechbar ist, um die von Dir gewünschte Lösung realisieren zu können.

1 Like

Wer nicht will, der hat schon! Wenn du um Hilfe bittest, solltest du wenigstens im Nachgang alle Informationen liefern, die nachgefragt werden. Also dich nicht nur auf die Nachfrage nach Access versteifen, sondern auch den Rest des Satzes lesen:

2 Like