Ushbu maqolada biz sizga Word hujjatidagi barcha giperhavolalarni VBA orqali tezda to'liq tekshirishning avtomatik usulini ko'rsatamiz.
Word hujjatida juda ko'p, hatto yuzlab giperhavolalar bo'lishi mumkin. Ulardan ba'zilari sizni to'g'ri veb-sahifaga olib kelmaydigan noto'g'ri havolalardir. Shunday qilib, biz sizga VBA orqali hujjatdagi barcha havolalarni tezda tekshirish usulini taklif qilmoqchimiz.
Word makrosini o'rnating va saqlang
- Avvalo, "Alt + F11" bilan VBA muharririni oching.
- Keyin "Oddiy" loyihani bosing.
- Keyin asboblar paneli menyusidagi "Qo'shish" yorlig'ini bosing.
- Va menyuda "Modul" ni tanlang.
- Tahrirlash joyini ochish uchun modul ustiga ikki marta bosing va u erga quyidagi kodlarni joylashtiring:
Function CheckURL(strURL As String) As Boolean
Dim objDemand As Object
Dim varResult As Variant
On Error GoTo ErrorHandler
Set objDemand = CreateObject("WinHttp.WinHttpRequest.5.1")
With objDemand
.Open "GET", strURL, False
.Send
varResult = .StatusText
End With
Set objDemand = Nothing
If varResult = "OK" Then
CheckURL = True
Else
CheckURL = False
End If
ErrorHandler:
End Function
Sub ReturnURLCheck()
Dim objLink As Hyperlink
Dim strLinkText As String
Dim strLinkAddress As String
Dim strResult As String
Dim nInvalidLink As Integer, nTotalLinks As Integer
Dim objDoc As Document
Application.ScreenUpdating = False
Set objDoc = ActiveDocument
nTotalLinks = objDoc.Hyperlinks.Count
nInvalidLink = 0
With objDoc
For Each objLink In .Hyperlinks
strLinkText = objLink.Range.Text
strLinkAddress = objLink.Address
If Not CheckURL(strLinkAddress) Then
nInvalidLink = nInvalidLink + 1
strResult = frmCheckURLs.txtShowResult.Text
frmCheckURLs.txtShowResult.Text = strResult & nInvalidLink & ". Invalid Link Information:" & vbNewLine & _
"Displayed Text: " & strLinkText & vbNewLine & _
"Address: " & strLinkAddress & vbNewLine & vbNewLine
End If
Next objLink
frmCheckURLs.txtTotalLinks.Text = nTotalLinks
frmCheckURLs.txtNumberOfInvalidLinks.Text = nInvalidLink
frmCheckURLs.Show Modal
End With
Application.ScreenUpdating = True
End Sub
Sub HighlightInvalidLinks()
Dim objLink As Hyperlink
Dim strLinkAddress As String
Dim strResult As String
Dim objDoc As Document
Set objDoc = ActiveDocument
With objDoc
For Each objLink In .Hyperlinks
strLinkAddress = objLink.Address
If Not CheckURL(strLinkAddress) Then
objLink.Range.HighlightColorIndex = wdYellow
End If
Next objLink
End With
End Sub
- Keyin "Saqlash" tugmasini bosing.
- Keyin makro uchun tugmani tayinlang. Batafsil ma'lumot uchun quyidagi maqolaga murojaat qilishingiz mumkin:
Word-da makro va VBA yordamida qo'yilgan matnlarni formatlashni qanday olib tashlash mumkin
Foydalanuvchi formasini yarating
Foydalanuvchi formasi yordamida siz joriy hujjatdagi havolalarning umumiy sonini, yaroqsiz havolalar sonini va boshqa tafsilotlarni aniq ko'rishingiz mumkin.
- Birinchidan, asboblar panelidagi "Qo'shish" tugmasini yana bir marta bosing. Ammo bu safar "UserForm" ni tanlang.
- Keyin pastki chap burchakda "Xususiyatlar oynasi" ni ochish uchun "F4" tugmasini bosing. Deraza o'lchami sozlanishi.
- Endi foydalanuvchi formasini “frmCheckURLs” deb nomlang.
- Sarlavhani "URL manzillarini tekshirish" sifatida o'rnating.
- Keyin shriftni to'g'ri o'rnating.
- Keyin asboblar panelidagi "Asboblar qutisi" tugmasini bosing.
- Endi asboblar panelidagi "Yorliq" tugmasini bosing. Sichqoncha yordamida to'rtburchaklar yorlig'ini foydalanuvchi formasiga torting.
- Xususiyat oynasini faollashtirish uchun yorliq ustiga bosing. Yorliq nomini “lblInvalidURLs” va yorliq sarlavhasini “Yaroqsiz URL manzillar:” qilib belgilang.
- Keyin teg sarlavhasi matni uchun mos shrift va old rangni tanlang.
- Asboblar panelidagi "Matn qutisi" ni tanlang va foydalanuvchi formasiga matn maydonini joylashtiring. Uning o'lchamini sozlang.
- Keyin matn maydoni nomini "txtShowResult" sifatida belgilang.
- Shrift va old rangni xohlagancha o'rnating.
- "MultiLine" ni toping va uni "True" deb o'rnating.
- "Scrollbars" ni toping va vertikal chiziqni tanlang.
- Keyin yana ikkita teg va matn qutilarini yarating.
- Keyin birinchi yorliqni “lblTotalLinks” deb nomlang va sarlavhani “Ushbu hujjatdagi jami havolalar” deb belgilang.
- Va ikkinchi yorliqni "lblNumberOfInvalidLinks" deb nomlang va sarlavhani "Yaroqsiz havolalar soni" deb belgilang.
- Birinchi matn maydonini “txtTotalLinks”, ikkinchisini esa “txtNumberOfInvalidLinks” deb nomlang.
- Keyin asboblar panelida buyruq tugmasi boshqaruvini toping. Quyidagi kabi ikkita buyruq tugmachasini yarating:
- Birinchi tugmani "cmdbtnClose" deb nomlang va uning sarlavhasi matnini "Yopish" deb nomlang.
- Ikkinchi tugmani "btnCloseAndHighlightInvalidURLs" deb nomlang va uning sarlavhasi matnini "Yaroqsiz URL manzillarini yopish va ajratib ko'rsatish" deb nomlang.
- Keyin, mos ravishda "Yopish" va "Yaroqsiz URL manzillarini yopish va ajratib ko'rsatish" tugmachalarini ikki marta bosing. Kodlarni quyidagicha kiriting:
Makroni ishga tushiring
Makrosga tayinlagan tugmani bosing. Mana yakuniy effekt:
Har bir muvaffaqiyatsiz havola haqida batafsil ma'lumotni chap katta matn maydonida ko'rishingiz mumkin. Shuningdek, siz to'g'ridan-to'g'ri foydalanuvchi formasini yopishni tanlashingiz yoki hujjatdagi barcha buzilgan havolalarni ajratib ko'rsatish orqali uni yopishingiz mumkin.
So'z bilan bog'liq muammolarni ehtiyotkorlik bilan hal qiling
Word osongina xatolarga moyil. Shunday qilib, bu juda muhim bo'ladi Word-ni tuzatish to'g'ri. Ko'pincha, o'rnatilgan vosita sizga unchalik yordam bera olmaydi. Shuning uchun, sizning eng yaxshi tanlovingiz uchinchi tomon ta'mirlash vositasini sotib olishdir.
Muallif kirish:
Vera Chen - ma'lumotlarni qayta tiklash bo'yicha mutaxassis DataNumenMa'lumotlarni qayta tiklash texnologiyalari bo'yicha jahon yetakchisi bo'lgan , Inc xlsx ta'mirlash va pdf dasturiy mahsulotlarni ta'mirlash. Qo'shimcha ma'lumot olish uchun tashrif buyuring www.datanumen.com








