Для некоторых документов полезно иметь список дат, который вы можете использовать в качестве основы для своей работы. Например, вам может потребоваться создать отчет, в котором перечислены все даты с настоящего момента до конца года, а также имя человека или название проекта справа от даты.

Отправной точкой, конечно же, является список дат.

Есть несколько способов создания списка. Один из простых способов — использовать Excel вместе с Word. Функция автозаполнения Excel упрощает создание списка дат. Когда у вас есть список в Excel, вы можете затем скопировать и вставить его в документ Word, или вы можете использовать слияние, чтобы объединить даты в документ (если этот подход подходит для ваших нужд).

Если вы по какой-то причине предпочитаете не использовать Excel, лучшим решением будет использование макроса. Следующий макрос очень быстро создает список всех дат на 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

Обратите внимание, что макрос работает путем сброса даты в вашей системе.

Текущая дата сохраняется в переменной 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 — ваш источник экономичного обучения работе с Microsoft Word.

(Microsoft Word — самая популярная программа для обработки текстов в мире.) Этот совет (3864) применим к Microsoft Word 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Word (Word 2007 и позже) здесь:

link: / wordribbon-Generating_a_List_of_Dates [Создание списка дат].