erikro
Goto Top

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

Content-Key: 496765

Url: https://administrator.de/contentid/496765

Ausgedruckt am: 19.03.2024 um 05:03 Uhr

Mitglied: 140913
140913 20.09.2019 aktualisiert um 16:55:33 Uhr
Goto Top
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.
Mitglied: 140913
140913 20.09.2019 aktualisiert um 17:03:49 Uhr
Goto Top
Oder eben direkt einmalig an der entsprechenden Stelle einfügen per Inline-Shape
Selection.InlineShapes.AddOLEObject ClassType:="Word.Document.12", FileName:="\\Server\Freigabe\datei.docx",LinkToFile:=False, DisplayAsIcon:=False  
Natürlich mit vorheriger Prüfung auf Vorhandensein des Footers.
Mitglied: erikro
erikro 21.09.2019 um 14:10:30 Uhr
Goto Top
Moin,

Zitat von @140913:

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.


Da höre ich sie doch schon wieder meckern, dass das viel zu kompliziert zu pflegen ist. face-wink

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.

In die Richtung dachte ich. Die andere Idee werde ich auch mal durchdenken. Aber ich werde das wahrscheinlich jetzt doch mit einer separaten Eingabemaske regeln. Kann man in Word eigentlich eine einzelne Maske per Passwort schützen? Ich finde immer nur, wie man das Ganze Dokument oder das ganze VBA-Projekt schützt. Aber nicht, wie ich eine Passwortabfrage vor eine einzelne Maske schalte.

Liebe Grüße

Erik
Mitglied: 140913
140913 21.09.2019 um 15:26:53 Uhr
Goto Top
Aber nicht, wie ich eine Passwortabfrage vor eine einzelne Maske schalte.
Lohnt nicht, das crackt dir jeder Hinz in 2 Minuten.
Mitglied: erikro
erikro 23.09.2019 um 08:41:46 Uhr
Goto Top
Zitat von @140913:

Aber nicht, wie ich eine Passwortabfrage vor eine einzelne Maske schalte.
Lohnt nicht, das crackt dir jeder Hinz in 2 Minuten.

Die User, die ich draußen halten will, nicht. face-wink
Mitglied: 140913
140913 23.09.2019 aktualisiert um 10:08:40 Uhr
Goto Top
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.