1

Тема: Как запускать макрос при сохранении word документа?

Есть макрос который сейчас срабатывает на закрытие документа, хотелось, что бы он так же работал на нажатие кнопки сохранить, сохранить как и ctrl+s.

2

Re: Как запускать макрос при сохранении word документа?

Это не получится так как  ctrl+s зарезервировано под сохранение файла и данные которые в макросе во время выполнения не сохраняться , можно попробовать объект Который при выполнении события
Private Sub Document_Close()
   ActiveDocument.Save
   [Здесь код сохранения при закрытии Документа]
' Тогда --> Если Объект открыт остановить программу-->Если Объект закрыт, закрыть Документ
End Sub

3

Re: Как запускать макрос при сохранении word документа?

Можно, можно. Лепим этот код в любом модуле и вперед:

Sub FileSave()
    ThisDocument.Save
    ' ваш код
End Sub
Макросы под заказ и готовый пакет - mtdmacro.ru

4

Re: Как запускать макрос при сохранении word документа?

Вождь пишет:

Можно, можно. Лепим этот код в любом модуле и вперед:

Sub FileSave()
    ThisDocument.Save
    ' ваш код
End Sub

Данный код работает только на кнопку "сохранить", а мне так же нужно, что бы он работал на закрытие документа нажатием на крестик и нажатием на кнопку "сохранить как".
Как совместить Sub AutoClose() и Sub FileSave() в одном макросе и можно ли добавить возможность срабатывания макроса на "сохранить как".

5

Re: Как запускать макрос при сохранении word документа?

Ладно, как совместить события на сохранение и закрытие я понял  roll
Как теперь добавить к этому всему срабатывание макроса на нажатие "сохранить как"?

6

Re: Как запускать макрос при сохранении word документа?

Что-то типа этого:

Sub FileSaveAs()
    With Application.Dialogs(Word.wdDialogFileSaveAs)
        If .Show = -1 Then ThisDocument.SaveAs FileName:=.Name
    End With
    ' ваш код
End Sub

Есть еще события Application...

Макросы под заказ и готовый пакет - mtdmacro.ru

7

Re: Как запускать макрос при сохранении word документа?

Вождь пишет:

Что-то типа этого:

Sub FileSaveAs()
    With Application.Dialogs(Word.wdDialogFileSaveAs)
        If .Show = -1 Then ThisDocument.SaveAs FileName:=.Name
    End With
    ' ваш код
End Sub

Есть еще события Application...

Доброго всем дня!
Подскажите вот еще какую вещь:
Мой макрос выполняется при нажатии на кнопку сохранить (рядом с оригинальным файлом появляется копия в формате PDF)

ОДНАКО

Если открыть файл, внести изменения и забыть нажать сохранить то всплывает следующее окно (см. во вложении). Обычное окошко "Сохранить изменения или нет". В таком случае нажимая на кнопку "Сохранить" диалогового окна, макрос не срабатывает. Каким образом можно отработать данный случай