Принуждение даты к следующей среде

Когда Аластер печатает документ, он хочет автоматически установить дату в этом документе на дату следующей среды. Например, если сегодня четверг, 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, что означает, что он будет выполняться непосредственно перед печатью.

Оцените статью
Frestage.ru
Добавить комментарий