この記事では、ドキュメントを閉じる前に、ドキュメント内のすべてのフィールドを自動更新する方法の説明に焦点を当てます。
フィールドは、後で変更される可能性のあるデータを保持するために使用します。そのため、データに変更を加えた場合は、それに応じてフィールドを更新する必要があります。そして残念ながら、ほとんどの場合、手動で更新しなければなりません。
その上、最大の問題は、フィールドの更新を簡単に忘れてしまうことです。 この問題に対処するために、ドキュメントを閉じる前にフィールドを自動更新するマクロを提供しています。
印刷する前にすべてのフィールドを更新する
次の手順で、印刷する前にWordオプションを変更してフィールドを更新するように設定できます。
- まず、「ファイル」タブをクリックし、次に「オプション」をクリックします。
- 次に開いている「Wordのオプション」ボックスで、左側の列の「表示」をクリックします。
- 右側のセクションで、[印刷オプション]の部分に移動し、[印刷前にフィールドを更新する]チェックボックスをオンにします。
- 最後に「OK」をクリックします。
ドキュメントを閉じる前にすべてのフィールドを自動更新
- まず、Wordで「Alt + F11」を押してVBAエディターをトリガーします。
- 次に、「通常」プロジェクトをクリックします。
- 次に、メニューバーで[挿入]をクリックします。
- そして、「クラスモジュール」を選択します。
- 次に、メニューバーの[プロパティウィンドウ]コマンドをクリックするか、[F4]を押してトリガーします。
- 左下隅に開いているウィンドウで、新しく作成したクラスモジュールに「objWordClass」という名前を付けます。
- コーディング領域に次のコードを入力します。
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
- そして、「保存」ボタンをクリックすることを忘れないでください。
- まだ「通常」プロジェクトの下にあるので、もう一度「挿入」をクリックして、今度は「モジュール」を選択します。
- 次にモジュールを開き、次のコードを貼り付けます。
Option Explicit Dim objWordClass As New objWordClass Public Sub AutoOpen() Set objWordClass.objWord = Word.Application End Sub
- 同様に、コードを保存します。
- 次回ドキュメントの編集が終了したら、保存します。 そして、「閉じる」コマンドをクリックすると、質問ボックスが表示されます。 「はい」をクリックしてすべてのフィールドを更新すると、タスクが完了するとドキュメントが閉じられます。
デッドドキュメントを復活させる
Wordを使用しているときに、時々いくつかの問題に遭遇することは避けられません。 したがって、可能な限りの準備をすることをお勧めします 破損したドキュメント。 もちろん、最善の方法は、事前に専用の修理ツールを入手することです。
著者紹介:
Vera Chenは、のデータ復旧の専門家です。 DataNumen、Inc。は、以下を含むデータ復旧技術の世界的リーダーです。 Excelを修復する (NAIST) と pdf ソフトウェア製品を修理します。 詳細については、次のWebサイトをご覧ください。 WWW。datanumen.com

![[表示]-> [印刷前にフィールドを更新する]チェックボックスをオン-> [OK]をクリックします [表示]-> [印刷前にフィールドを更新する]チェックボックスをオン-> [OK]をクリックします](https://www.datanumen.com/blogs/wp-content/uploads/2017/07/Click-Display-then-Check-Update-fields-before-printing-Box-then-Click-OK.jpg)



