Reference bei Doc-Datei

DrMueller

Erfahrenes Mitglied
Hallo Leute,

evtl. kann mir hier jemand einen Tipp geben: In unserem Programm ist es erlaubt, Vorlagen entweder als DOT oder DOC zu speichern. Wir machen dann nichts anderes, als die Textmarken, welche von uns vorgegeben sind, mit den entsprechenden Werten zu ersetzen.
Soweit so gut, nun möchten die Kunden aber auch bei diesen 'Doc-Vorlagen' teilw. Textmarken mehrmals drin haben. Bei Dot kein Problem, Referenz rein und gut ist, aber bei Docs klappt dies eben nicht.

Gibt es hier evtl. eine Möglichkeit, dass diese auch bei Docs erkannt und befüllt werden? Kann man das evtl. programmiertechnisch dem Worb-Objekt mitgeben: "Jetzt füll die References!"?

Vielen Dank für alle Antworten


Müller Matthias
 
Ich versteh dein "Textmarken mehrmals drin haben" nicht. Was meinst du damit?
Es gibt ne Textmarke "Anrede" die 4-5 Mal im Dokument vorkommt, und du rufst nur einmal auf "und jetzt fülle Anrede mit dem entsprechenden Inhalt"?
 
Nene, eine Textmarke darf nur einmal pro Dokument vorkommen.
Jetzt möchte aber jeman z.B. den Vornamen mehrmals drin haben. Dann macht er eine Referenz auf die Textmarke und wenn diese befüllt wird, werden die Referenzen entsprechend geändert.
Dies klappt bei Dots, aber bei Docs eben nicht.
 
Das liegt daran, dass beim Öffnen von dot-Dateien eine neue noch nicht gespeicherte doc-Datei erstellt wird. Bei diesem Vorgang werden alle Felder (u.a. Referenzen) aktualisiert.

Diese Aktualiserung kannst du manuell über das Kontextmenü oder mit F9 machen. Hierbei muss der Cursor im Feld stehen.

Oder du gehst über ein Makro mit
Visual Basic:
ActiveDocument.Fields.Update

Diese Zeile könnte in einem Event stehen um automatisch aufgerufen zu werden. Nähere informationen zu Events findest du z.B. hier:
http://msdn.microsoft.com/en-us/library/office/aa140279(v=office.10).aspx
 
Super danke, ich teste mal das mit dem Update. Eigentlich sollte ja nach der Erstellung und vor dem Anzeigen des Dokuments ein Update bereits reichen.
 
Wenn das so ist sollte es reichen dem doc-Dokument 3 Zeilen zu hinterlegen. Drücke dafür einfach Alt+F11, wähle die Code-Seite für das aktuelle Dokument und füge folgendes ein:
Visual Basic:
Private Sub Document_Open()
    ThisDocument.Fields.Update
End Sub
Du musst nur schauen, dass es auch mit der Makrosicherheit passt, automatisch ablaufende Prozeduren sind halt immer soein Thema.
 
Hallo,
mal zum Grundverständmnis, .dot sind Vorlagen, .doc sind Dokumentdateien.
Mittels .dot wird beim öffnen automatisch einen neue .doc angelegt.
Natürlich kann man sich auch eine .doc so abspeichern das man sie als Vorlage verwenden kann, ist aber nicht so ratsam da diese auch mal gerne unabsichtlich überschrieben werden kann.

Viele Grüße
 
Zurück