Запускать макрос автоматически при сохранении в Word

У меня есть макрос, который обновляет все поля в документе (эквивалент выполнения F9 для полей). Я хотел бы запускать этот макрос автоматически, когда пользователь сохраняет документ.

В параметрах я могу выбрать «обновлять поля при печати документа», но это не то, что я хочу. В редакторе VBA я нахожу события только для события Document_Open(), а не для события Document_Save().

Можно ли заставить макрос срабатывать, когда пользователь сохраняет документ?

Пожалуйста, обрати внимание:

  1. Это Word 97. Я знаю, что это возможно в более поздних версиях Word.
  2. Я не хочу заменять стандартную кнопку «Сохранить» на панели инструментов кнопкой для запуска собственного макроса. Замена кнопки на панели инструментов применяется ко всем документам, и я хочу, чтобы она влияла только на этот документ.

Чтобы понять, зачем мне это нужно, документ содержит поле «SaveDate», и я хотел бы, чтобы это поле обновлялось на экране, когда пользователь нажимает «Сохранить». Так что, если вы можете предложить другой способ добиться этого, то это было бы так же хорошо.


person njr101    schedule 18.09.2008    source источник


Ответы (2)


Да, Фенклифф прав, вам не повезло с Word 97.

Если обновление не вариант, единственное, что приходит мне в голову, это опрос времени последней модификации файла с помощью таймера. Я знаю, что это некрасиво, но вы не получаете события, и нет команды Word, которую вы могли бы переопределить.

person Dirk Vollmar    schedule 26.11.2008

Насколько я помню о Word 97, тебе не повезло. Единственными документальными событиями в 1997 году были Open и Close.

У меня нет Word 97, но в Word 2000+ вы можете установить поле, которое считывает свойство документа. Вы могли бы проверить это. В Word 2003 он находится в разделе Вставка > Поле..., а тот, который вы ищете, называется SaveDate.

Редактировать: D'Uh. Вы это уже знали. Неправильно понял вашу проблему. Извинения.

person jevakallio    schedule 18.09.2008