Создание списка дат (Microsoft Word)
Для некоторых документов полезно иметь список дат, который вы можете использовать в качестве основы для своей работы. Например, вам может потребоваться создать отчет, в котором перечислены все даты с настоящего момента до конца года, а также имя человека или название проекта справа от даты.
Отправной точкой, конечно же, является список дат.
Есть несколько способов создания списка. Один из простых способов — использовать 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 [Создание списка дат]
.