如何在關閉Word文檔之前自動更新所有字段

立即分享:

在本文中,我們將重點介紹在關閉文檔之前自動更新文檔中所有字段的方法。

我們使用欄位來儲存可能隨時變更的資料。因此,一旦我們對資料進行更改,就需要相應地更新欄位。遺憾的是,大多數情況下,我們都必須手動更新這些欄位。

此外,最大的問題在於我們很容易忘記更新字段。 為了解決此問題,我們為您提供了一個宏,可以在關閉文檔之前自動更新字段。在關閉Word文檔之前自動更新所有字段

打印前更新所有字段

您可以通過以下步驟更改Word選項,以在打印之前將其設置為更新字段:

  1. 首先,單擊“文件”選項卡,然後單擊“選項”。
  2. 接下來在“ Word選項”框中打開,單擊左列上的“顯示”。
  3. 在右側部分,轉到“打印選項”部分,選中“打印前更新字段”框。
  4. 最後,單擊“確定”。單擊“顯示”->檢查“打印前更新字段”,然後單擊框->單擊“確定”。

關閉文檔前自動更新所有字段

  1. 首先,在Word中按下“ Alt + F11”觸發VBA編輯器。
  2. 接下來單擊“普通”項目。
  3. 然後在菜單欄上,單擊“插入”。
  4. 然後選擇“ Class Module”。單擊“常規”->單擊“插入”->選擇“類模塊”
  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

立即分享:

評論被關閉。