1

Тема: Обновление поля даты в документе из шаблона

Возникла одна проблема с автоматическим обновлением поля Даты. При создании документа из шаблона проставляется текущая дата и это здорово. Затем я открываю сохраненный документ на основе этого шаблона через несколько дней и при открытии происходит обновление даты, что уже не так здорово. Я знаю о возможности блокирования автоматического обновления поля по Ctrl+F11 и мне приходится после создания документа и его сохранения блокировать поля. Но шаблоном пользуются другие люди и объяснять им про блокировку полей - не вариант. Нет ли такой возможности, чтобы поле даты обновлялось один раз при создании документа из шаблона, либо в сохраненном документе сохранялось не как поле, а как текст?
Заранее спасибо!
Виталий

2

Re: Обновление поля даты в документе из шаблона

В Вашем Шаблоне поставьте вместо поля закладку и назовите ее например Data1.
Затем в VBA в модуле ThisDocument наберите код:

Private Sub Document_New()
Dim Data1 As Date
    Data1 = Now
       ActiveDocument.Bookmarks("Data1").Range.Text = Data1
End Sub

Этот код вставит в закладку Data1 текущую дату создания документа и уже при дальнейшем открытии сохраненного документа дата обновляться не будет.

3

Re: Обновление поля даты в документе из шаблона

Спасибо за оперативный ответ. Попытался сделать так, как вы описали и у меня ничего не вышло. Наверное я что-то не то делаю. Мои действия такие: создание шаблона, Вставка, Закладка с именем Data1, Alt+F11, двойной щелчок по This Document, вставка в открывшееся пустое окно кода из сообщения, закрытие редактора, сохранение шаблона, создание документа, текст даты в закладку не вставлен. Я дилетант в деле автоматизации, да и с VBA не знаком, прошу большими табуретками не кидаться big_smile

4

Re: Обновление поля даты в документе из шаблона

Все прекрасно работает, единственное надо поменять строку

Data1 = Now
на
Data1 = Format(Now, "dd.mm.yyyy")

И открывать новый документ на основе созданного шаблона

5

Re: Обновление поля даты в документе из шаблона

Опять не получилось. Похоже я явно делаю что-то не то. Может поможет снимок экрана редактора?

Post's attachments

1.JPG 126.34 Кб, 2 скачиваний с 2012-02-24 

You don't have the permssions to download the attachments of this post.

6

Re: Обновление поля даты в документе из шаблона

Так Вы в обычном документе сохраняете вкладку.
1. Создайте новый документ.
2. Сохраните его с нужным вам названием и как Шаблон MicrosoftWord 97-2003.
3. Вставьте закладку Data1 в нужном Вам месте.
4. Вставьте код в ThisDocument и сохраните шаблон.
5. Закройте шаблон.
6. Создайте новый документ на основе этого шаблона.

7

Re: Обновление поля даты в документе из шаблона

viland пишет:

Опять не получилось. Похоже я явно делаю что-то не то

Проверьте, пожалуйста, включили ли вы запуск макросов:
внешняя ссылка

Попробуйте также заменить первую строчку на:
Sub Document_New()
У меня, например, макрос Private Sub Document_New() почему-то не виден.

Также можно поместить макрос в Normal - Modules - NewMacros
Это окно открывается, если вы создаете новый макрос с помощью опции Запись макроса, а затем открываете его с помощью команды Отладка.

Далее я запустил макрос, предложенный экспертом aap77, и у меня все получилось. Поле Дата преобразовалось в текст.

Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.

8

Re: Обновление поля даты в документе из шаблона

Заработало! Большое спасибо! Закладку я делал таки в шаблоне (просто я его не переименовал), но вот сохранял я его на рабочем столе, а надо было в директорию по умолчанию. Еще раз большое спасибо.