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

Printed on: April 25, 2024 at 15:04 o'clock

Mitglied: 140913
140913 Sep 20, 2019 updated at 14:55:33 (UTC)
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 Sep 20, 2019 updated at 15:03:49 (UTC)
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.
Member: erikro
erikro Sep 21, 2019 at 12:10:30 (UTC)
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 Sep 21, 2019 at 13:26:53 (UTC)
Goto Top
Aber nicht, wie ich eine Passwortabfrage vor eine einzelne Maske schalte.
Lohnt nicht, das crackt dir jeder Hinz in 2 Minuten.
Member: erikro
erikro Sep 23, 2019 at 06:41:46 (UTC)
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 Sep 23, 2019 updated at 08:08:40 (UTC)
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.