W tym artykule skupimy się na wyjaśnieniu sposobu automatycznej aktualizacji wszystkich pól w dokumencie przed jego zamknięciem.
Używamy pól do przechowywania danych, które mogą się później zmienić. Dlatego po wprowadzeniu w nich zmian musimy je odpowiednio zaktualizować. Niestety, w większości przypadków będziemy musieli to zrobić ręcznie.
Poza tym największym problemem jest to, że łatwo możemy zapomnieć o aktualizacji pól. Aby rozwiązać ten problem, oferujemy makro do automatycznej aktualizacji pól przed zamknięciem dokumentu.
Zaktualizuj wszystkie pola przed drukowaniem
Możesz zmienić opcje programu Word, aby ustawić pola aktualizacji przed drukowaniem, wykonując następujące czynności:
- Najpierw kliknij zakładkę „Plik”, a następnie „Opcje”.
- Następnie w otwartym oknie „Opcje programu Word” kliknij „Wyświetl” w lewej kolumnie.
- W prawej sekcji przejdź do części „Opcje drukowania”, aby zaznaczyć pole „Aktualizuj pola przed drukowaniem”.
- Na koniec kliknij „OK”.
Automatycznie aktualizuj wszystkie pola przed zamknięciem dokumentu
- Na początek uruchom edytor VBA w programie Word, naciskając „Alt + F11”.
- Następnie kliknij „Normalny” projekt.
- Następnie na pasku menu kliknij „Wstaw”.
- I wybierz „Moduł klasy”.
- Następnie kliknij polecenie „Okno właściwości” na pasku menu lub naciśnij „F4”, aby je uruchomić.
- W oknie otwartym w lewym dolnym rogu nazwij nowo utworzony moduł klasy jako „objWordClass”.
- W obszarze kodowania wpisz następujące kody:
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
- I pamiętaj, aby kliknąć przycisk „Zapisz”.
- Teraz nadal w projekcie „Normalny”, ponownie kliknij „Wstaw” i tym razem wybierz „Moduł”.
- Następnie otwórz moduł i wklej te kody:
Option Explicit Dim objWordClass As New objWordClass Public Sub AutoOpen() Set objWordClass.objWord = Word.Application End Sub
- Podobnie zapisz kody.
- Następnym razem, gdy skończysz edytować dokument, zapisz go. A kiedy klikniesz polecenie „Zamknij”, otrzymasz okno z pytaniem. Kliknij „Tak”, aby zaktualizować wszystkie pola, a dokument zostanie zamknięty po zakończeniu zadania.
Przywróć martwy dokument do życia
Nieuchronnie od czasu do czasu napotyka się problemy podczas korzystania z programu Word. Warto więc być przygotowanym na każdą ewentualność uszkodzony doc. Najlepszym sposobem jest oczywiście wcześniejsze zaopatrzenie się w specjalistyczne narzędzie do naprawy.
Wprowadzenie autora:
Vera Chen jest ekspertem w dziedzinie odzyskiwania danych w DataNumen, Inc., która jest światowym liderem w technologiach odzyskiwania danych, w tym napraw Excel i pdf oprogramowanie do naprawy. po więcej informacji odwiedź www.datanumen.com




