Запустить макрос в MS WORD после сохранения документа?

Программирование на Visual Basic for Applications
XORXE
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 11
Зарегистрирован: 29.06.2005 (Ср) 3:50

Запустить макрос в MS WORD после сохранения документа?

Сообщение XORXE » 30.06.2005 (Чт) 4:25

Есть макрос, который нужно запустить сразу после того, как пользователь сохранил документ MS WORD.

Подскажите пожалуста каким способом это сделавть?
Жизнь такая же простая штука, как аппельсин. Если только его не разрезать пополам...

a_mayor
Новичок
Новичок
 
Сообщения: 41
Зарегистрирован: 02.06.2005 (Чт) 21:44

Сообщение a_mayor » 30.06.2005 (Чт) 8:56

В документе делаешь так:

Код: Выделить всё

Private Declare Function SetTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
Private Declare Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long

Private Sub Document_Close()
    KillTimer 0, 1
End Sub

Private Sub Document_Open()
    ThisDocument.Saved = False
    SetTimer 0, 1, 500, AddressOf OnSave_Click
End Sub


Потом добавляешь модуль и в нём такое пишешь:
Код: Выделить всё

Public Sub OnSave_Click()
    If ThisDocument.Saved Then
        ThisDocument.Saved = False
       
        Selection.InsertAfter "saved!"
    End If
End Sub

Vitaly1
Брехман
Брехман
 
Сообщения: 1578
Зарегистрирован: 30.12.2002 (Пн) 16:35
Откуда: Russia, Mosсow

Сообщение Vitaly1 » 30.06.2005 (Чт) 17:32

А вот мой вариант без таймера:

Код: Выделить всё
'Это в модуле документа
Private Sub Document_Close()
Application.CommandBars.ActiveMenuBar.Controls(1).Controls(4).OnAction = ""

End Sub

Private Sub Document_Open()
Application.CommandBars.ActiveMenuBar.Controls(1).Controls(4).OnAction = "Сохранение"

End Sub
'Это в модуле макросов документа
Sub Сохранение()


Application.ActiveDocument.Save
'А тут запускаем нужный макрос
End Sub


П.С. для кнопки сохранения на панели стандартная надо прописать дополнительный код


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 73

    TopList