Tässä artikkelissa keskitymme selvittämään tapaa päivittää kaikki asiakirjan kentät automaattisesti ennen sen sulkemista.
Käytämme kenttiä tietojen säilyttämiseen, jotka saattavat muuttua myöhemmin. Joten kun teemme niihin muutoksia, meidän on päivitettävä kentät vastaavasti. Ja valitettavasti most meidän on päivitettävä ne manuaalisesti.
Lisäksi suurin ongelma on siinä, että voimme helposti unohtaa päivittää kentät. Tämän ongelman ratkaisemiseksi tarjoamme sinulle makron päivittää kentät automaattisesti ennen asiakirjan sulkemista.
Päivitä kaikki kentät ennen tulostamista
Voit muuttaa Word-asetuksia ja asettaa sen päivityskentät ennen tulostamista seuraavasti:
- Napsauta ensin Tiedosto-välilehteä ja sitten Asetukset.
- Seuraavaksi avautuvassa "Word Options" -ruudussa napsauta vasemmassa sarakkeessa "Display".
- Valitse oikeanpuoleisesta osasta Tulostusasetukset ja tarkista Päivitä kentät ennen tulostusta -ruutu.
- Napsauta lopuksi “OK”.
Päivitä kaikki kentät automaattisesti ennen asiakirjan sulkemista
- Aloita käynnistämällä VBA-editori Wordissa painamalla "Alt + F11".
- Napsauta seuraavaksi Normaali-projekti.
- Napsauta sitten valikkorivillä “Lisää”.
- Ja valitse ”Class Module”.
- Napsauta sitten valikkorivin Ominaisuudet-ikkuna-komentoa tai laukaise se painamalla F4.
- Nimeä äskettäin luotu luokan moduuli vasemmassa alakulmassa avautuvassa ikkunassa “objWordClass”.
- Syötä koodausalueelle seuraavat koodit:
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
- Muista napsauttaa Tallenna-painiketta.
- Napsauta nyt edelleen ”Normaali” -kohdassa uudelleen ”Lisää” ja valitse ”Moduuli” tällä kertaa.
- Seuraava avoin moduuli ja liitä nämä koodit:
Option Explicit Dim objWordClass As New objWordClass Public Sub AutoOpen() Set objWordClass.objWord = Word.Application End Sub
- Samoin tallenna koodit.
- Tallenna seuraavan kerran, kun muokkaat asiakirjan. Ja kun napsautat "Sulje" -komentoa, saat kyselylaatikon. Napsauta ”Kyllä” päivittääksesi kaikki kentät ja asiakirja suljetaan, kun tehtävä on valmis.
Palauta kuollut asiakirja elämään
On väistämättä törmännyt joihinkin ongelmiin silloin tällöin Wordin käytön aikana. Siksi on suositeltavaa varautua kaikkiin mahdollisiin vaurioitunut asiak. Paras tapa on tietysti hankkia erikoistunut korjaustyökalu etukäteen.
Tekijän esittely:
Vera Chen on tietojen palauttamisen asiantuntija DataNumen, Inc., joka on maailman johtava tietojen palautustekniikoissa, mukaan lukien korjaa Excel ja pdf korjata ohjelmistotuotteita. Lisätietoja osoitteessa www.datanumen.com




