В тази статия ще се съсредоточим върху излагането на начина за автоматично актуализиране на всички полета в документ, преди да го затворите.
Използваме полета, за да съхраняваме данни, които могат да се променят по-късно. Така че, след като направим някаква промяна в тях, трябва да актуализираме полетата съответно. И за съжаление, през повечето време ще трябва да ги актуализираме ръчно.
Освен това най-големият проблем се крие в това, че лесно можем да забравим да актуализираме полетата. За да разрешите този проблем, ние ви предлагаме макрос за автоматично актуализиране на полета преди затваряне на документа.
Актуализирайте всички полета преди печат
Можете да промените опциите на 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





