Gesamten Inhalt einer Word-Datei in einer anderen Worddatei einfügen
Moin,
ich google mir hier einen Wolf und komme nicht weiter. Alles, was ich finde, bezieht sich auf das Öffnen und Manipulieren einer Word-Datei via VBA. Aber das Einlesen in ein anderes Dokument finde ich einfach nicht.
Das Problem:
In einer zentralen Word-Datei soll eine Tabelle hinterlegt werden, die in anderen Worddokumenten automatisch via VBA in die Fußzeile eingefügt werden soll. Der Inhalt ändert sich ab und zu. Es soll bei neuen Dokumenten der aktuelle Inhalt erscheinen. Bei älteren Dokumenten darf der Inhalt nicht verändert werden.
Mein Lösungsansatz:
Ich definiere eine DOCVARIABLE an der Stelle, an der die Tabelle erscheinen soll. Diese fülle ich dann mit dem aus dem anderen Word-Dokument ausgelesenen Inhalt. Wie ich solche Variablen definiere und prinzipiell befülle, ist mir bekannt. Ich weiß auch, dass ich die Fußzeile explizit aktualisieren muss, weil sie nicht mit dem Dokument zusammen aktualisiert werden kann. Aber wie bekomme ich den Inhalt (konkret eine kleine Tabelle) in die DOCVARIABLE?
Funktionieren soll das Ganze ab Office 2013 und allen Nachfolgern.
Liebe Grüße
Erik
ich google mir hier einen Wolf und komme nicht weiter. Alles, was ich finde, bezieht sich auf das Öffnen und Manipulieren einer Word-Datei via VBA. Aber das Einlesen in ein anderes Dokument finde ich einfach nicht.
Das Problem:
In einer zentralen Word-Datei soll eine Tabelle hinterlegt werden, die in anderen Worddokumenten automatisch via VBA in die Fußzeile eingefügt werden soll. Der Inhalt ändert sich ab und zu. Es soll bei neuen Dokumenten der aktuelle Inhalt erscheinen. Bei älteren Dokumenten darf der Inhalt nicht verändert werden.
Mein Lösungsansatz:
Ich definiere eine DOCVARIABLE an der Stelle, an der die Tabelle erscheinen soll. Diese fülle ich dann mit dem aus dem anderen Word-Dokument ausgelesenen Inhalt. Wie ich solche Variablen definiere und prinzipiell befülle, ist mir bekannt. Ich weiß auch, dass ich die Fußzeile explizit aktualisieren muss, weil sie nicht mit dem Dokument zusammen aktualisiert werden kann. Aber wie bekomme ich den Inhalt (konkret eine kleine Tabelle) in die DOCVARIABLE?
Funktionieren soll das Ganze ab Office 2013 und allen Nachfolgern.
Liebe Grüße
Erik
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 496765
Url: https://administrator.de/forum/gesamten-inhalt-einer-word-datei-in-einer-anderen-worddatei-einfuegen-496765.html
Ausgedruckt am: 26.03.2025 um 11:03 Uhr
6 Kommentare
Neuester Kommentar

Alternative:
Speichere die Tabelle in einem Building-Block und füge diesen nur in neue Dokumente ein.
Building-Blocks kannst du auch über Normal-Dot oder Template aktualisieren.
Oder per VBA das Dokument öffnen und über Range.Copy oder einer Referenz auf die Tabelle und dann ebenfalls per Copy und Paste per Code übertragen.
Speichere die Tabelle in einem Building-Block und füge diesen nur in neue Dokumente ein.
Building-Blocks kannst du auch über Normal-Dot oder Template aktualisieren.
Oder per VBA das Dokument öffnen und über Range.Copy oder einer Referenz auf die Tabelle und dann ebenfalls per Copy und Paste per Code übertragen.

Oder eben direkt einmalig an der entsprechenden Stelle einfügen per Inline-Shape
Natürlich mit vorheriger Prüfung auf Vorhandensein des Footers.
Selection.InlineShapes.AddOLEObject ClassType:="Word.Document.12", FileName:="\\Server\Freigabe\datei.docx",LinkToFile:=False, DisplayAsIcon:=False

Aber nicht, wie ich eine Passwortabfrage vor eine einzelne Maske schalte.
Lohnt nicht, das crackt dir jeder Hinz in 2 Minuten.
Na dann schreib dir halt mit Visual Studio ein Document-Level Office Add-In, dann sehen die User gar nüscht mehr im VBA-Projekt.