如何在关闭 Word 文档之前自动更新所有字段

立即分享:

在本文中,我们将重点阐述在关闭文档之前自动更新文档中所有字段的方法。

我们使用字段来存储可能随时更改的数据。因此,一旦我们对数据进行更改,就需要相应地更新字段。遗憾的是,大多数情况下,我们都必须手动更新这些字段。

此外,最大的问题在于我们很容易忘记更新字段。 为了解决这个问题,我们为您提供了一个在关闭文档之前自动更新字段的宏。关闭 Word 文档前自动更新所有字段

打印前更新所有字段

您可以更改 Word 选项以设置它在打印前更新字段,步骤如下:

  1. 首先,单击“文件”选项卡,然后单击“选项”。
  2. 接下来在“Word选项”框中打开,单击左侧栏中的“显示”。
  3. 在右侧部分,转到“打印选项”部分以选中“打印前更新字段”框。
  4. 最后,单击“确定”。点击“显示”->勾选“打印前更新字段”框->点击“确定”

关闭文档前自动更新所有字段

  1. 首先,在 Word 中按“Alt+F11”触发 VBA 编辑器。
  2. 接下来单击“正常”项目。
  3. 然后在菜单栏上,单击“插入”。
  4. 并选择“类模块”。点击“普通”->点击“插入”->选择“类模块”
  5. 接下来单击菜单栏上的“属性窗口”命令或按“F4”触发它。
  6. 在左下角打开的窗口中,将新建的类模块命名为“objWordClass”。
  7. 在编码区输入以下代码:
Option Explicit
Public WithEvents objWord As Word.Application
Private Sub objWord_DocumentBeforeClose(ByVal objDoc As Document, varCancel As Boolean)
  Dim strButtonValue As String

  Application.ScreenUpdating = False
  Set objDoc = ActiveDocument
  objDoc.Save
  strButtonValue = MsgBox("Do you want to update all fields in this document before closing?", _
                   vbYesNo + vbQuestion)
  If strButtonValue = vbYes Then
    varCancel = True
    If objDoc.Fields.Count > 0 Then
      With objDoc
        .Fields.Update
        .Save
        .Close
      End With
    Else
      MsgBox ("There is no field in this document.")
    End If
  Else
    varCancel = False
  End If

  Application.ScreenUpdating = True
End Sub
  1. 并记得点击“保存”按钮。点击“属性窗口”->命名类模块->粘贴代码->保存代码
  2. 现在仍在“Normal”项目下,再次单击“Insert”并选择“Module”。点击“普通”->点击“插入”->点击“模块”
  3. 接下来打开模块并粘贴这些代码:
Option Explicit
  Dim objWordClass As New objWordClass
  Public Sub AutoOpen()
  Set objWordClass.objWord = Word.Application
End Sub
  1. 同样,保存代码。
  2. 下次您完成文档编辑时,保存它。 当您单击“关闭”命令时,您将收到询问框。 单击“是”更新所有字段,任务完成后文档将关闭。点击“关闭”->点击“是”或“否”

让死文档起死回生

在使用Word的过程中,难免会时不时地遇到一些问题。 因此,建议为任何可能的情况做好准备 损坏的文档. 最好的办法当然是提前准备好专门的维修工具。

作者简介:

Vera Chen 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 修复Excel 和 pdf 修复软件产品。 欲了解更多信息,请访问 datanumen.com

立即分享:

评论被关闭。