У цій статті ми зосередимося на поясненні способу автоматичного оновлення всіх полів у документі перед тим, як закрити його.
Ми використовуємо поля для зберігання даних, які можуть змінитися пізніше. Тому, як тільки ми вносимо до них якісь зміни, нам потрібно відповідно оновити поля. І, на жаль, здебільшого нам доведеться оновлювати їх вручну.
Крім того, найбільша проблема полягає в тому, що ми можемо легко забути оновити поля. Щоб вирішити цю проблему, ми пропонуємо вам макрос для автоматичного оновлення полів перед закриттям документа.
Оновіть усі поля перед друком
Ви можете змінити параметри Word, щоб встановити поля поновлення перед друком, виконавши такі дії:
- Спочатку натисніть вкладку «Файл», а потім «Параметри».
- Далі у вікні “Параметри Word” відкрийте, натисніть “Відображення” в лівій колонці.
- У правому розділі перейдіть до розділу «Параметри друку», щоб встановити прапорець «Оновити поля перед друком».
- Нарешті, натисніть “OK”.
Автоматичне оновлення всіх полів перед закриттям документа
- Для початку запустіть редактор VBA у програмі Word, натиснувши “Alt + F11”.
- Далі натисніть проект «Звичайний».
- Потім у рядку меню натисніть “Вставити”.
- І виберіть «Модуль класу».
- Далі натисніть команду “Вікно властивостей” на рядку меню або натисніть “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. Таким чином, бажано бути готовим до будь-якого можливого пошкоджений док. Найкращий спосіб - це, звичайно, заздалегідь отримати спеціалізований ремонтний інструмент.
Вступ автора:
Віра Чень є експертом з відновлення даних у DataNumen, Inc., яка є світовим лідером у галузі технологій відновлення даних, в тому числі ремонт Excel та pdf ремонт програмних продуктів. Для отримання додаткової інформації відвідайте WWW.datanumen.com





