Статьи из блога

Статьи из блога

Вставка будущей даты

Василий спрашивает:

Как написать макрос, чтобы будущая дата (текущая + 15 дней, к примеру) автоматически вставлялась в колонтитулы?

Используйте для этой цели автоматически исполняемые макросы. В данном случае подойдет макрос AutoNew (выполняется макрос при создании нового документа).

Ваши возможные действия:

  • Создайте шаблон документа.
  • Cоздайте закладку (MyDate) и определите в колонтитулах для нее место.
  • Для вставки будущей даты можно использовать следующий код:

    Sub AutoNew()
        With ActiveDocument.Bookmarks("MyDate").Range
            .InsertBefore Format(Date + 15, "dd mmmm yyyy")
        End With
    End Sub
  • Сохраните шаблон.

На основе этого шаблона создавайте новые документы. Будущая дата будет автоматически вставляться на место закладки в колонтитуле.

twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru rutvit.ru myspace.com technorati.com digg.com friendfeed.com pikabu.ru blogger.com liveinternet.ru livejournal.ru memori.ru google.com bobrdobr.ru mister-wong.ru yahoo.com yandex.ru del.icio.us

Еще записи по вопросам использования Microsoft Word:

Комментариев: 2

  1. Денис
    27.11.2009 в 00:20 | #1

    Подскажите: по материалам вашего сайта я создал форму для вставки заданной даты прописью из 3 текстовых полей для, соответственно, ввода даты, месяца и года. Дата плюс ко всему меняется при помощи spinbutton. Мне необходимо, чтобы, скажем, в поле label отображался день недели, который соответствует выставляемой дате. С текущей датой проблем нет. По сути вопрос заключается в том, как установить произвольную дату, используя эти текстовые поля.

    Вот мой вариант, что называется "в лоб"...

    кусочек кода на изменение значения textbox (дата)

    day_change = UserForm2.TextBox1.Value - strNowDay (<- переменная, хранящая текущую дату)

    data = Format(Date + day_change, "dddd")

    UserForm2.Label1.Caption = data

  2. 27.11.2009 в 09:25 | #2

    Думаю, что Вам нужно использовать функцию DateSerial, которая позволяет получить дату, используя номер года, месяца и дня. Номер года отсчитывается от 1 января 1900 года. Например, 27 ноября 2009 года запишется так:

    DateSerial(109, 11, 27)

Оставьте комментарий!

(обязательно)

^ Наверх