Ushbu maqolada biz hujjatni yopishdan oldin barcha maydonlarni avtomatik yangilash usullarini tushuntirishga e'tibor qaratamiz.
Keyinchalik o'zgarishi mumkin bo'lgan ma'lumotlarni saqlash uchun maydonlardan foydalanamiz. Shuning uchun ularga biron bir o'zgartirish kiritganimizdan so'ng, maydonlarni mos ravishda yangilashimiz kerak bo'ladi. Va afsuski, ko'p hollarda ularni qo'lda yangilashimiz kerak bo'ladi.
Bundan tashqari, eng katta muammo shundaki, biz maydonlarni yangilashni osongina unutamiz. Ushbu muammoni hal qilish uchun biz sizga hujjatni yopishdan oldin maydonlarni avtomatik yangilash uchun makrosni taklif qilamiz.
Chop etishdan oldin barcha maydonlarni yangilang
Quyidagi amallarni bajarib chop etishdan oldin uni yangilash maydonlarini sozlash uchun Word parametrlarini oʻzgartirishingiz mumkin:
- Birinchidan, "Fayl" yorlig'ini, keyin esa "Tanlovlar" ni bosing.
- Keyin ochilgan "So'z parametrlari" oynasida chap ustundagi "Displey" tugmasini bosing.
- O'ng bo'limda "Chop etish imkoniyatlari" bo'limiga o'ting va "Chop etishdan oldin maydonlarni yangilash" katagiga belgi qo'ying.
- Nihoyat, "OK" tugmasini bosing.
Hujjatni yopishdan oldin barcha maydonlarni avtomatik yangilash
- Boshlash uchun “Alt+ F11” tugmachalarini bosgan holda Word-da VBA muharririni ishga tushiring.
- Keyin "Oddiy loyiha" tugmasini bosing.
- Keyin menyu satrida "Qo'shish" tugmasini bosing.
- Va "Sinf moduli" ni tanlang.
- Keyin menyu panelidagi "Xususiyatlar oynasi" buyrug'ini bosing yoki uni ishga tushirish uchun "F4" tugmasini bosing.
- Chap-past burchakda ochilgan oynada yangi yaratilgan sinf modulini “objWordClass” deb nomlang.
- Kodlash maydoniga quyidagi kodlarni kiriting:
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
- Va "Saqlash" tugmasini bosishni unutmang.
- Endi "Oddiy" loyihasi ostida yana "Qo'shish" tugmasini bosing va bu safar "Modul" ni tanlang.
- Keyingi modulni oching va ushbu kodlarni joylashtiring:
Option Explicit Dim objWordClass As New objWordClass Public Sub AutoOpen() Set objWordClass.objWord = Word.Application End Sub
- Xuddi shunday, kodlarni saqlang.
- Keyingi safar hujjatni tahrirlashni tugatsangiz, uni saqlang. Va "Yopish" buyrug'ini bosganingizda, siz so'rov oynasini olasiz. Barcha maydonlarni yangilash uchun "Ha" tugmasini bosing va vazifa bajarilgandan so'ng hujjat yopiladi.
O'lik hujjatni hayotga qaytaring
Word dasturidan foydalanganda ba'zi muammolarga duch kelishi muqarrar. Shunday qilib, har qanday narsaga tayyor bo'lish tavsiya etiladi shikastlangan doc. Eng yaxshi usul, albatta, oldindan maxsus ta'mirlash vositasini olishdir.
Muallif kirish:
Vera Chen - ma'lumotlarni qayta tiklash bo'yicha mutaxassis DataNumenMa'lumotlarni qayta tiklash texnologiyalari bo'yicha jahon yetakchisi bo'lgan , Inc Excelni ta'mirlash va pdf dasturiy mahsulotlarni ta'mirlash. Qo'shimcha ma'lumot olish uchun tashrif buyuring www.datanumen.com




