Запускать макрос автоматически OnSave в Word - PullRequest
1 голос
/ 19 сентября 2008

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

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

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

Обратите внимание:

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

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

Ответы [ 2 ]

1 голос
/ 26 ноября 2008

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

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

1 голос
/ 19 сентября 2008

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

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

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

...