Так как VBA не имеет onSave
или afterSave
меня возникают проблемы с поиском способа сохранить мой документ и обновить местоположение документа (после того, как он был сохранен).
Поэтому наиболее распространенный способ использования этого документа:
- создать новый документ из шаблона
- редактировать документ
- сохранить документ как (какое-то место в сети)
Мой босс смущен всеми его документами и не может найти их снова.
Поэтому он хочет посмотреть, где хранятся эти документы.
Я добавил поле расположения документа в нижний колонтитул и добавил этот код в проект VBA.
Sub AutoOpen()
'
' AutoOpen Macro
'
'
Dim aStory As Range
Dim aField As Field
For Each aStory In ActiveDocument.StoryRanges
For Each aField In aStory.Fields
aField.Update
Next aField
Next aStory
' set document as unchanged (prevents save dialog popping up when closing)
' further edits will set this back to false and restore
' the save dialog on close
ActiveDocument.Saved = True
End Sub
Private Sub wdApp_DocumentBeforeSave(ByVal Doc As Document, SaveAsUI As Boolean, Cancel As Boolean)
ActiveWindow.ActivePane.View.Type = wdPrintView
Application.ScreenUpdating = True
Selection.WholeStory
ActiveDocument.Fields.Update
ActiveDocument.Save
End Sub
Все работает до активного документа.Точка сохранения, и она должна быть сохранена как минимум один раз.
Что также является своего рода obviuos, потому что я предполагаю, что событие beforeSave происходит до того, как оно будет сохранено должным образом, и поэтому нет пути к местоположению ...
Что я могу сделать, чтобы получить эту вещь правильно?