V tomto článku se zaměříme na objasnění způsobu automatické aktualizace všech polí v dokumentu před jeho uzavřením.
Pole používáme k uchovávání dat, která se mohou později změnit. Jakmile v nich tedy provedeme nějakou změnu, musíme je odpovídajícím způsobem aktualizovat. A bohužel je většinou musíme aktualizovat ručně.
Kromě toho největší problém spočívá v tom, že můžeme snadno zapomenout na aktualizaci polí. Abychom tento problém vyřešili, nabízíme vám pole pro automatickou aktualizaci makra před uzavřením dokumentu.
Před tiskem aktualizujte všechna pole
Možnosti aplikace Word můžete před tiskem nastavit tak, aby byla nastavena pole aktualizace:
- Nejprve klikněte na záložku „Soubor“ a poté na „Možnosti“.
- Dále v poli „Možnosti aplikace Word“ klikněte na „Zobrazit“ v levém sloupci.
- V pravé části přejděte do části „Možnosti tisku“ a zaškrtněte políčko „Aktualizovat pole před tiskem“.
- Nakonec klikněte na „OK“.
Automaticky aktualizovat všechna pole před uzavřením dokumentu
- Nejprve spusťte editor VBA v aplikaci Word stisknutím kláves „Alt + F11“.
- Dále klikněte na „Normální“ projekt.
- Poté na řádku nabídek klikněte na „Vložit“.
- A vyberte „Modul třídy“.
- Dále klikněte na příkaz „Okno Vlastnosti“ na liště nabídek nebo stiskněte „F4“ pro jeho spuštění.
- V okně otevřeném v levém dolním rohu pojmenujte nově vytvořený modul třídy jako „objWordClass“.
- V oblasti kódování zadejte následující 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 nezapomeňte kliknout na tlačítko „Uložit“.
- Nyní stále v projektu „Normální“ znovu klikněte na „Vložit“ a vyberte tentokrát „Modul“.
- Dále otevřete modul a vložte tyto kódy:
Option Explicit Dim objWordClass As New objWordClass Public Sub AutoOpen() Set objWordClass.objWord = Word.Application End Sub
- Podobně ukládejte kódy.
- Až příště dokončíte úpravy dokumentu, uložte jej. A když kliknete na příkaz „Zavřít“, zobrazí se dotazovací pole. Kliknutím na „Ano“ aktualizujete všechna pole a dokument bude po dokončení úkolu uzavřen.
Oživte mrtvý dokument
Při používání Wordu je nevyhnutelně občas narazit na nějaké problémy. Doporučuje se proto být na vše připraven poškozený doc. Nejlepším způsobem je samozřejmě předem získat specializovaný nástroj pro opravy.
Úvod autora:
Vera Chen je expertka na obnovu dat DataNumen, Inc., která je světovým lídrem v oblasti technologií pro obnovu dat, včetně opravit Excel a pdf opravy softwarových produktů. Pro více informací navštivte www.datanumen.com




