Generazione di un elenco di date (Microsoft Word)
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: