Когда Аластер печатает документ, он хочет автоматически установить дату в этом документе на дату следующей среды. Например, если сегодня четверг, 13-е, Аластер хотел бы отобразить среду, 19-е, если документ напечатан сейчас или в любой день до самого 19-го включительно. Начиная со следующего четверга (20-го числа) Аластер хотел бы, чтобы напечатанная дата была 26-го числа и т. Д.
Нет разумного или удобного способа сделать это с помощью полей в документе. (Я видел несколько комбинаций полей типа «выберите дату в будущем», но они действительно огромны и не предназначены для случайного использования.) Лучшее решение – использовать макрос для вставки в точку вставки даты того, что произойдет в следующую среду. быть. Следующий пример показывает, насколько простым может быть такой макрос:
Sub ForceWednesday () Dim dMyDate As Date dMyDate = Date While WeekDay (dMyDate) 4 dMyDate = dMyDate + 1 Wend Selection .TypeText Текст: = Format (dMyDate, "mmmm d, yyyy") End Sub
Когда вы запускаете макрос, он присваивает текущую дату переменной dMyDate. Эта переменная постоянно увеличивается до тех пор, пока день недели не станет 4 (среда). Затем дата форматируется и вводится в месте, где находится точка вставки.
Макрос можно легко изменить, чтобы всегда помещать дату следующей среды в определенное место документа. Все, что вам нужно сделать, это изменить его так, чтобы он выполнял поиск, скажем, закладки и заменял закладку на отформатированную дату. Вы даже можете настроить Word так, чтобы макрос запускался во время события BeforePrint, что означает, что он будет выполняться непосредственно перед печатью.