Berechnen von Daten mit Feldern (Microsoft Word)
Aidan fragte, ob es möglich sei, Daten anhand von Feldern zu berechnen. Anscheinend möchte er ein Datum, das zwei Wochen in der Zukunft liegt, und dachte, es müsse eine einfache Möglichkeit geben, ein solches zukünftiges Datum mithilfe von Feldern zu berechnen. Leider gibt es keinen einfachen Weg. Während Sie in Word einfache Berechnungen mit numerischen Werten in Feldern durchführen können, können Sie solche Berechnungen nicht mit Datumsangaben anstelle von Zahlen durchführen.
Sie können Datumsangaben jedoch in ihre intrinsischen Teile (Monate, Tage und Jahre) zerlegen und dann Ihre Berechnungen durchführen. Dies führt jedoch zu völlig neuen Problemen. Plötzlich müssen Sie sich Gedanken darüber machen, was passiert, wenn Sie über das Ende eines Monats oder Jahres hinaus „rollen“. Die Mathematik, die mit einer solchen Berechnung verbunden ist, ist nicht trivial. Betrachten Sie als Beispiel das folgende zusammengesetzte Feld:
{QUOTE "{SET Delay "14"}{SET "DaysInMonth" {IF {DATE \@ "MM"} <> 2 {=ROUND(30.575{DATE \@ "MM"},0)-ROUND(30.575{= {DATE \@ "MM"} –1},0)}{IF {=MOD({DATE \@ "yy"|, 4)} > 0 "28" "29"}}}{SET "NextMonth" {IF {DATE \@ "MM"} = 12 "1/97" "{= {DATE \@ "MM"} + 1}/97}}{IF {= {REF Delay} + {DATE \@ "dd"}} <= {DaysInMonth} {DATE \@ "MMMM {= {REF Delay} + {DATE \@ "dd"}}, yyyy"}{QUOTE "{NextMonth \@ "MMMM"} {= {REF Delay} + {DATE \@ "dd"} – {DaysInMonth}}, {IF {DATE \@ "MM"} <> 12 {DATE \@ "yyyy"}{DATE \@ "{= 1 + {DATE \@ "yyyy"} \# "xxxx"}" }}}}"}
Dies gibt das Datum in zwei Wochen zurück (angegeben in der ersten Zeile, in der der Verzögerungswert festgelegt ist. Der Nachteil ist natürlich die zusammengesetzte Natur des Feldes – es gibt über 30 verschiedene Felder nur innerhalb dieses zusammengesetzten Feldes! Auch dies Die Implementierung, so beeindruckend sie auch aussieht, wird Schaltjahre nicht in allen Fällen korrekt behandeln. (Sie wird Schaltjahre in durch 400 teilbaren Jahrhundertjahren nicht korrekt behandeln.)
Gibt es einen einfachen Weg Ja, es gibt – verwenden Sie einfach Makros. Mit nur ein paar einfachen Anweisungen können Sie aus ansonsten schwierigen Datumsberechnungen eine kurze Arbeit machen. Die Art und Weise, wie dies gemacht wird, wurde in früheren _WordTips; _ beschrieben, die Sie auch finden können Informationen auf der folgenden Word MVP-Seite:
http://word.mvps.org/FAQs/MacrosVBA/DateOfPrevMonth.htm
WordTips ist Ihre Quelle für kostengünstige Microsoft Word-Schulungen.
(Microsoft Word ist die beliebteste Textverarbeitungssoftware der Welt.) Dieser Tipp (1579) gilt zu Microsoft Word 97, 2000, 2002 und 2003. Eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Word (Word 2007 und höher) finden Sie hier: