Как да валидирате пакетно всички хипервръзки във вашия Word документ чрез VBA

Споделете сега:

В тази статия ще ви покажем автоматичен начин за бързо пакетно валидиране на всички хипервръзки във вашия Word документ чрез VBA.

Един документ на Word може да съдържа много хипервръзки, дори стотици. Сред тях някои са невалидни връзки, които не успяват да ви отведат до правилна уеб страница. Затова искаме да ви предложим начин за бърза проверка на всички връзки в документ чрез VBA.Пакетно валидирайте всички хипервръзки във вашия Word документ

Инсталирайте и запишете макрос на Word

  1. Първо, отворете VBA редактор с „Alt+ F11“.
  2. След това щракнете върху „Нормален“ проект.
  3. След това щракнете върху раздела „Вмъкване“ в менюто на лентата с инструменти.
  4. И изберете „Модул“ в менюто.Щракнете върху "Нормално" -> Щракнете върху "Вмъкване" -> Щракнете върху "Модул"
  5. Кликнете два пъти върху модула, за да отворите пространството за редактиране и поставете следните кодове там:
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
  1. След това кликнете върху „Запазване“.Поставяне на кодове-> Щракнете върху "Запазване"
  2. След това задайте бутон за макроса. Можете да се обърнете към следната статия за подробна информация:

Как да премахнете форматирането на поставени текстове с макро и VBA във вашата дума

Създайте потребителски формуляр

С потребителски формуляр можете ясно да видите общия брой връзки в текущия документ, броя на невалидните връзки и повече подробности.

  1. Първо щракнете отново върху „Вмъкване“ в лентата с инструменти. Но този път изберете „UserForm“.
  2. След това натиснете „F4“, за да отворите „Прозорец със свойства“ в долния ляв ъгъл. Размерът на прозореца е регулируем.
  3. Сега наименувайте потребителския формуляр като „frmCheckURLs“.
  4. Задайте надпис като „Проверка на URL адреси“.
  5. След това задайте правилно шрифта.
  6. След това щракнете върху бутона „Кутия с инструменти“ в лентата с инструменти.Щракнете върху „Вмъкване“->Изберете „Потребителска форма“->Щракнете върху „Прозорец със свойства“->Задайте „Име“, „Надпис“, „Шрифт“->Щракнете върху „Кутия с инструменти“
  7. Сега щракнете върху „Етикет“ в кутията с инструменти. Използвайте мишката, за да плъзнете правоъгълен етикет върху потребителския формуляр.
  8. Щракнете върху етикета, за да активирате прозореца на неговите свойства. Задайте името на етикета като „lblInvalidURLs“ и надписа на етикета като „Невалидни URL адреси:“.
  9. След това изберете подходящ шрифт и преден цвят за текста на надписа на етикета.Щракнете върху „Етикет“->Задайте „Име“, „Надпис“, „Шрифт“ и „Цвят на преден план“
  10. Изберете „Текстово поле“ в кутията с инструменти и вмъкнете текстово поле в потребителския формуляр. Регулирайте размера му.
  11. След това задайте името на текстовото поле като „txtShowResult“.
  12. Задайте шрифт и преден цвят по желание.
  13. Намерете „MultiLine“ и го задайте „True“.
  14. Намерете „Ленти за превъртане“ и изберете вертикална лента.Задайте име, шрифт, преден цвят на текстовото поле -> Задайте "MultiLine" като "True" -> Изберете "frmScrollBarsVertical"
  15. След това създайте още два етикета и текстови полета.
  16. След това наименувайте първия етикет като „lblTotalLinks“ и задайте надпис като „Общ брой връзки в този документ“.
  17. И наименувайте втория етикет като „lblNumberOfInvalidLinks“ и задайте надпис като „Брой невалидни връзки“.
  18. Наименувайте първото текстово поле като „txtTotalLinks“, а второто като „txtNumberOfInvalidLinks“.Създайте още два етикета и текстови полета
  19. След това намерете контрола на командния бутон в кутията с инструменти. Създайте два командни бутона, като например по-долу:Създаване на командни бутони
  20. Наименувайте първия бутон като „cmdbtnClose“, а текста на надписа му като „Затвори“.
  21. Наименувайте втория бутон като „btnCloseAndHighlightInvalidURLs“, а текста на надписа му като „Затваряне и маркиране на невалидни URL адреси“.
  22. След това кликнете два пъти върху бутона „Затваряне“ и съответно бутона „Затваряне и маркиране на невалидни URL адреси“. Въведете кодовете, както следва:Въведете кодове за командни бутони

Стартирайте макроса

Щракнете върху бутона, който присвоявате на макроса. Ето и крайния ефект:ефект

Можете да видите подробна информация за всяка неуспешна връзка в лявото голямо текстово поле. И можете да изберете да затворите потребителския формуляр директно или да го затворите, докато маркирате всички повредени връзки в документа.

Отнасяйте се внимателно към проблемите с думите

Word е лесно податлив на грешки. Така става изключително важно да се поправете Word правилно. Мost на времето вграденият инструмент не може да ви помогне толкова много. Следователно вашият най-добър избор е да вземете инструмент за ремонт на трета страна.

Въведение на автора:

Вера Чен е експерт по възстановяване на данни в DataNumen, Inc., която е световен лидер в технологиите за възстановяване на данни, включително ремонт xlsx и pdf ремонт на софтуерни продукти. За повече информация посетете WWW.datanumen.com

Споделете сега:

Коментарите са забранени.