V tomto článku sa zameriame na vysvetlenie spôsobu automatickej aktualizácie všetkých polí v dokumente pred jeho zatvorením.
Polia používame na uchovávanie údajov, ktoré sa môžu neskôr zmeniť. Akonáhle v nich teda urobíme nejaké zmeny, musíme príslušne aktualizovať polia. A bohužiaľ, most časom ich budeme musieť aktualizovať manuálne.
Okrem toho najväčší problém spočíva v tom, že môžeme ľahko zabudnúť na aktualizáciu polí. Na vyriešenie tohto problému vám ponúkame makro na automatické aktualizovanie polí pred zatvorením dokumentu.
Pred tlačou aktualizujte všetky polia
Pred tlačou môžete zmeniť možnosti Wordu, aby ste nastavili jeho aktualizačné polia:
- Najskôr kliknite na kartu „Súbor“ a potom na „Možnosti“.
- Ďalej v otvorenom okne „Možnosti aplikácie Word“ kliknite na „Zobraziť“ v ľavom stĺpci.
- V pravej časti prejdite do časti „Možnosti tlače“ a začiarknite políčko „Aktualizovať polia pred tlačou“.
- Nakoniec kliknite na tlačidlo „OK“.
Automaticky aktualizovať všetky polia pred zatvorením dokumentu
- Najprv spustite editor VBA v programe Word stlačením kombinácie klávesov „Alt + F11“.
- Ďalej kliknite na „Normálny“ projekt.
- Potom na paneli s ponukami kliknite na „Vložiť“.
- A vyberte „Modul triedy“.
- Ďalej kliknite na príkaz „Okno vlastností“ na paneli s ponukami alebo ho stlačte „F4“.
- V okne otvorenom v ľavom dolnom rohu pomenujte novovytvorený modul triedy ako „objWordClass“.
- Do oblasti kódovania zadajte nasledujúce kódy:
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
- A nezabudnite kliknúť na tlačidlo „Uložiť“.
- Teraz ešte v rámci projektu „Normálne“ znova kliknite na „Vložiť“ a tentokrát vyberte „Modul“.
- Ďalej otvorte modul a vložte tieto kódy:
Option Explicit Dim objWordClass As New objWordClass Public Sub AutoOpen() Set objWordClass.objWord = Word.Application End Sub
- Podobne ukladajte kódy.
- Až budete nabudúce dokončovať úpravy dokumentu, uložte ich. A keď kliknete na príkaz „Zavrieť“, zobrazí sa okno s požiadavkou. Kliknutím na tlačidlo „Áno“ aktualizujete všetky polia a dokument sa po dokončení úlohy uzavrie.
Oživte mŕtvy dokument
Pri používaní Wordu je nevyhnutne občas potrebné naraziť na nejaké problémy. Preto je vhodné byť pripravený na všetko možné poškodený doc. Najlepším spôsobom je samozrejme zaobstarať si vopred špecializovaný nástroj na opravu.
Úvod autora:
Vera Chen je expertka na obnovu dát v DataNumen, Inc., ktorá je svetovým lídrom v oblasti technológií obnovy dát, vrátane opraviť Excel a pdf oprava softvérových produktov. Pre viac informácií navštívte www.datanumen. S




