2.4k Aufrufe
Gefragt in Textverarbeitung von masterofhardness Mitglied (139 Punkte)
Hallo zusammen!

Ich möchte in einem Word-Formular ein Feld haben, dass zum aktuellen Systemdatum (oder besser noch: Speicherdatum der Datei) automatisch einen festen Wert (hier 14 Tage( dazuaddiert und diesen Wert dann ausgibt. Der Nutzer muss da nix schreiben können.

Habe mit dem wordeigenen Datumsfeld herumexperimentiert. Da kann man nur rudimentär mit rechnen. Man muss da zunächst den aktuellen Wert des Datums herauschirugisieren und dann addieren. Macht für heute beispielsweise eine 44 als Ergebnis. Ist also Müll.
Nun dachte ich mir, kurzerhand eine kleine Excel-Tabelle einzufügen, hier ist die Datumsrechnerei ja schließlich nicht so problematisch. Klappt schon besser, aber eben nicht perfekt. Das Feld wird nämlich nicht aktualisiert, der Wert stimmt nur am Tag der Formularerstellung. Wird das Formular später ausgefüllt und gedruckt, steht ein falsches Datum drin.

Gibt es da noch andere Lösungswege? Wenn's denn irgendwie geht, dann ohne VBA, das ist mir ein Greul

7 Antworten

0 Punkte
Beantwortet von nostalgiker6 Experte (7.1k Punkte)
Wenn Du es richtig gemacht hast, dann wird das Feld beim (vor dem) Drucken aktualisiert - genau, wie ein entsprechendes Datumsfeld in Word.
0 Punkte
Beantwortet von nostalgiker6 Experte (7.1k Punkte)
Sorry - da scheine ich mich geirrt zu haben.
0 Punkte
Beantwortet von masterofhardness Mitglied (139 Punkte)
Richtig: geirrt ;o)

Der entscheidende Haken in den Word-Optionen ist selbstverständlich gesetzt.

Warum ist das bei einer Word-Installation eigentlich nicht Standard?
0 Punkte
Beantwortet von masterofhardness Mitglied (139 Punkte)
Nanu? Gibt es denn wirklich niemanden, der mir hier helfen kann?
0 Punkte
Beantwortet von masterofhardness Mitglied (139 Punkte)
Sollte das etwas gar nicht gehen?
0 Punkte
Beantwortet von masterofhardness Mitglied (139 Punkte)
Bitte nochmals nach oben.
0 Punkte
Beantwortet von masterofhardness Mitglied (139 Punkte)
Habe inzwischen aus einem anderen Forum eine Lösung:

Private Sub Document_New()
ActiveDocument.FormFields("Lieferdatum1").Result = Format(DateAdd("d", 14, Format(ActiveDocument.BuiltInDocumentProperties _
("Creation Date"), "DD.MM.YYYY")), "DD.MM.YYYY")
End Sub


Der Formularfeld-Name (hier Lieferdatum1 muss natürlich an die jeweiligen Gegebenheiten angepasst werden.
...