一部のドキュメントでは、作業の基礎として使用できる日付のリストがあると便利です。たとえば、現在から年末までのすべての日付を、日付の右側に人の名前またはプロジェクト名とともに一覧表示するレポートを作成する必要がある場合があります。

もちろん、出発点は日付のリストを取得することです。

リストの生成にアプローチする方法はいくつかあります。簡単な方法の1つは、ExcelをWordと組み合わせて使用​​することです。 Excelのオートフィル機能により、日付のリストを驚くほど簡単に生成できます。 Excelでリストを取得したら、それをコピーしてWord文書に貼り付けるか、差し込み印刷を使用して日付を文書にマージできます(そのアプローチがニーズに適している場合)。

何らかの理由でExcelを使用したくない場合は、マクロを使用するのが最善の解決策です。次のマクロは、2021年のすべての日付のリストを非常にすばやく作成します。

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/2020#

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

システムの日付をリセットすることでマクロが機能することに注意してください。

今日の現在の日付はDateToday変数に格納され、日付は範囲の開始日にリセットされます。他の日付範囲でマクロを機能させたい場合は、開始日とFor …​ Nextループの終了値を変更するだけです。

日付リストを作成する必要があり、範囲内の開始日と終了日がまったくわからない場合は、別のマクロアプローチの方が理にかなっています。次のマクロは、開始日と終了日の両方を要求します。

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

入力によって設定されたStartDate変数とEndDate変数は、For …​ Nextループが繰り返される回数を決定します。

注:

このページ(または_WordTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

link:/ wordribbon-WordTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]

_WordTips_は、費用効果の高いMicrosoftWordトレーニングのソースです。

(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(13155)は、Microsoft Word 2007、2010、2013、2016、2019、およびOffice 365のWordに適用されます。このヒントのバージョンは、ここにWordの古いメニューインターフェイス:

link:/ word-Generating_a_List_of_Dates [日付のリストの生成]