Per alcuni documenti, è utile avere un elenco di date che puoi utilizzare come base per il tuo lavoro. Ad esempio, potresti dover creare un rapporto che elenca tutte le date da qui alla fine dell’anno, insieme al nome di una persona o al nome di un progetto a destra della data.

Il punto di partenza, ovviamente, è ottenere l’elenco delle date.

Ci sono un paio di modi in cui puoi avvicinarti alla generazione dell’elenco. Un metodo semplice consiste nell’usare Excel insieme a Word. La funzione di Compilazione automatica di Excel semplifica la generazione di un elenco di date. Una volta che hai l’elenco in Excel, puoi quindi copiarlo e incollarlo nel documento di Word oppure puoi utilizzare la stampa unione per unire le date nel documento (se l’approccio è appropriato per le tue esigenze).

Se per qualche motivo preferisci non utilizzare Excel, la soluzione migliore è utilizzare una macro. La seguente macro crea molto rapidamente un elenco di tutte le date per l’anno 2015:

Sub PrintYearDays()

Dim DateToday As Date     Dim T As Integer

'Because the date is going to be changed, save it     DateToday = Date     Date = #12/31/2014#

For T = 1 To 365         Selection.TypeText Text:=Format(Date + T, _           "mmmm dd yyyy")

Selection.TypeParagraph     Next T

'Restore today's date     Date = DateToday End Sub

Si noti che la macro funziona reimpostando la data sul sistema.

La data corrente di oggi viene memorizzata nella variabile DateToday, quindi la data viene reimpostata sulla data di inizio dell’intervallo. Se vuoi che la macro funzioni per qualche altro intervallo di date, cambia semplicemente la data di inizio, insieme al valore finale del ciclo For …​ Next.

Se è necessario creare elenchi di date e non si sa mai esattamente quali saranno le date di inizio e fine nell’intervallo, è più sensato un approccio macro diverso. La seguente macro ti chiede sia una data di inizio che di fine:

Sub ListDates()

Dim ListDate as Date     Dim StartDate As Date     Dim EndDate As Date     Dim Repeats As Integer

'Gets user input     StartDate = InputBox("Please enter the starting date.", _       "Start Date", "Start Date")

EndDate = InputBox("Please enter the ending date.", _       "End Date", "End Date")



'Enters the start date in the document     Selection.TypeText Text:=Format(StartDate, _       "dddd, MMMM dd, yyyy")

Selection.TypeText (vbCr & vbLf)



'Determines the number of dates to print     Repeats = DateDiff("d", StartDate, EndDate)



'Loops to print the list of dates     For i = 1 To Repeats         ListDate = DateAdd("d", i, StartDate)

Selection.TypeText Text:=Format(ListDate, _           "dddd, MMMM dd, yyyy")

Selection.TypeParagraph     Next i End Sub

Le variabili StartDate e EndDate, impostate dall’input, determinano quante volte viene ripetuto il ciclo For …​ Next.

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti WordTips), ho preparato una pagina speciale che include informazioni utili.

WordTips è la tua fonte di formazione economica su Microsoft Word.

(Microsoft Word è il software di elaborazione testi più popolare al mondo.) Questo suggerimento (3864) si applica a Microsoft Word 97, 2000, 2002 e 2003. È possibile trovare una versione di questo suggerimento per l’interfaccia della barra multifunzione di Word (Word 2007 e più tardi) qui: