Aidan ha chiesto se è possibile calcolare le date utilizzando i campi. Sembra che voglia una data che sia due settimane nel futuro e ha pensato che ci doveva essere un modo semplice per calcolare tale data futura utilizzando i campi. Sfortunatamente, non esiste un modo semplice. Sebbene Word ti consenta di eseguire calcoli semplici utilizzando valori numerici nei campi, non ti consente di eseguire tali calcoli utilizzando date anziché numeri.

Puoi, tuttavia, separare le date nelle loro parti intrinseche (mesi, giorni e anni) e poi fare i tuoi calcoli, ma questo introduce problemi completamente nuovi. All’improvviso devi preoccuparti di ciò che accade quando “rotoli” oltre la fine di un mese o anno. La matematica coinvolta nel fare un tale calcolo non è banale. Ad esempio, considera il seguente campo composto:

{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"}" }}}}"}

Ciò restituirà la data entro due settimane (specificata nella prima riga in cui è impostato il valore Delay. Lo svantaggio, ovviamente, è la natura composta del campo: ci sono oltre 30 campi diversi solo all’interno di questo campo composto! l’implementazione, per quanto formidabile possa sembrare, non gestirà correttamente gli anni bisestili in tutti i casi (non gestirà correttamente gli anni bisestili in anni di secolo divisibili per 400)

Esiste un modo semplice per calcolare le date future? Sì, è sufficiente utilizzare le macro. Con solo un paio di semplici istruzioni puoi fare un breve lavoro con calcoli di date altrimenti difficili. Il modo in cui questo viene fatto è stato trattato in un _Suggerimenti di parole; _ puoi anche trovare informazioni alla seguente pagina MVP di Word:

http://word.mvps.org/FAQs/MacrosVBA/DateOfPrevMonth.htm

WordTips è la tua fonte per la formazione su Microsoft Word conveniente.

(Microsoft Word è il software di elaborazione testi più popolare al mondo.) Questo suggerimento (1579) si applica a Microsoft Word 97, 2000, 2002 e 2003. Puoi trovare una versione di questo suggerimento per l’interfaccia a nastro di Word (Word 2007 e versioni successive) qui: