Word: actualice el campo de ubicación del documento, que aún no se ha guardado

Word: actualice el campo de ubicación del documento, que aún no se ha guardado

Entonces, como VBA no tiene un evento onSaveo, afterSavetengo problemas para encontrar una manera de guardar mi documento Y actualizar la ubicación del documento (después de haberlo guardado).

Entonces, la forma más común en que se utilizará este documento es:

  1. crear un nuevo documento a partir de una plantilla
  2. editar documento
  3. guardar el documento como (alguna ubicación en la red)

Mi jefe está confundido con todos sus documentos y tiene problemas para encontrarlos nuevamente.
Entonces quiere ver dónde se guardan estos documentos.
Agregué el campo de ubicación del documento en el pie de página y agregué este código en el proyecto 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

Todo funciona hasta el punto activeDocument.Save y debe guardarse antes al menos una vez.
Lo que también es un poco obvio porque supongo que el evento beforeSave es antes de que se guarde correctamente y, por lo tanto, no hay una ruta de ubicación... ¿Qué puedo hacer para hacer esto bien?

Respuesta1

Este campo se actualizará mediante una vista previa de impresión. Entonces, el truco que uso es crear una vista previa de impresión en la macro AutoOpen.

Sub AutoOpen()
    Application.Run MacroName:="MathTypeCommands.UIWrappers.FilePrintPreview"
    ActiveDocument.ClosePrintPreview
End Sub

información relacionada