2008-09-18 5 views
1

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

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

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

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

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

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

ответ

1

Да, fencliff правильно, вы не повезло с Word 97.

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

1

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

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

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