Как выполнить пакетную проверку всех гиперссылок в документе 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 в вашем Word

Создать форму пользователя

С помощью пользовательской формы вы можете четко видеть общее количество ссылок в текущем документе, количество недействительных ссылок и другие подробности.

  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», а текст ее заголовка — «Close».
  21. Назовите вторую кнопку как «btnCloseAndHighlightInvalidURLs», а ее текст заголовка как «Закрыть и выделить недопустимые URL-адреса».
  22. Затем дважды щелкните кнопку «Закрыть» и кнопку «Закрыть и выделить недопустимые URL-адреса» соответственно. Введите коды следующим образом:Введите коды для командных кнопок

Запустить макрос

Нажмите кнопку, назначенную макросу. Вот окончательный эффект:эффект

Вы можете увидеть подробную информацию о каждой неудачной ссылке в левом большом текстовом поле. И вы можете закрыть форму пользователя напрямую или закрыть ее, выделив все неработающие ссылки в документе.

Внимательно относитесь к проблемам с Word

Word легко подвержен ошибкам. Таким образом, становится чрезвычайно важным исправить слово correctly. Most of the time, the built-in tool can’t help you so much. Therefore, you top choice is to get a third-party repairing tool.

Об авторе:

Вера Чен — эксперт по восстановлению данных в DataNumen, Inc., которая является мировым лидером в области технологий восстановления данных, включая восстановить xlsx и pdf ремонт программных продуктов. Для получения дополнительной информации посетите www.datanumen.com

Поделись сейчас:

Комментарии закрыты.