Como validar em lote todos os hiperlinks em seu documento do Word via VBA

Compartilhe agora:

Neste artigo, mostraremos uma maneira automática de validar rapidamente em lote todos os hiperlinks em seu documento do Word via VBA.

Um documento do Word pode conter muitos hiperlinks, centenas até. Entre eles, alguns são links inválidos que não levam você a uma página correta. Assim, queremos oferecer a você a maneira de verificar rapidamente todos os links em um documento via VBA.Validar em lote todos os hiperlinks em seu documento do Word

Instalar e salvar uma macro do Word

  1. Em primeiro lugar, abra o editor VBA com “Alt+ F11”.
  2. Em seguida, clique em projeto “Normal”.
  3. Em seguida, clique na guia "Inserir" no menu da barra de ferramentas.
  4. E escolha “Módulo” no menu.Clique em "Normal"->Clique em "Inserir"->Clique em "Módulo"
  5. Clique duas vezes no módulo para abrir o espaço de edição e cole os seguintes códigos lá:
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. A seguir clique em “Salvar”.Cole Códigos->Clique em "Salvar"
  2. Em seguida, atribua um botão para a macro. Você pode consultar o seguinte artigo para obter informações detalhadas:

Como remover a formatação de textos colados com macro e VBA no seu Word

Criar um formulário de usuário

Com um formulário de usuário, você pode ver claramente o número total de links no documento atual, o número de links inválidos e mais detalhes.

  1. Em primeiro lugar, clique em “Inserir” na barra de ferramentas novamente. Mas desta vez, escolha “UserForm”.
  2. Em seguida, pressione “F4” para abrir a “Janela de propriedades” no canto inferior esquerdo. O tamanho da janela é ajustável.
  3. Agora nomeie o formulário de usuário como “frmCheckURLs”.
  4. Defina a legenda como "Verificar URLs".
  5. Em seguida, defina a fonte corretamente.
  6. Em seguida, clique no botão "Caixa de ferramentas" na barra de ferramentas.Clique em "Inserir"->Escolha "Formulário de usuário"->Clique em "Janela de propriedades"->Defina "Nome", "Legenda", "Fonte"->Clique em "Caixa de ferramentas"
  7. Agora clique em “Rótulo” na caixa de ferramentas. Use o mouse para arrastar um rótulo retangular no formulário do usuário.
  8. Clique no rótulo para ativar sua janela de propriedades. Defina o nome do rótulo como “lblInvalidURLs” e a legenda do rótulo como “URLs inválidos:”.
  9. Em seguida, escolha a fonte e a cor de fundo adequadas para o texto da legenda do rótulo.Clique em "Label"->Set "Name", "Caption", "Font" e "ForeColor"
  10. Escolha “Caixa de texto” na caixa de ferramentas e insira uma caixa de texto no formulário do usuário. Ajuste seu tamanho.
  11. Em seguida, defina o nome da caixa de texto como “txtShowResult”.
  12. Defina a fonte e a cor de fundo conforme desejado.
  13. Encontre “MultiLine” e defina-o como “True”.
  14. Encontre “Barras de rolagem” e escolha uma barra vertical.Defina o nome da caixa de texto, fonte, cor principal -> Defina "MultiLine" como "True" -> Escolha "frmScrollBarsVertical"
  15. Em seguida, crie mais dois rótulos e caixas de texto.
  16. Em seguida, nomeie o primeiro rótulo como “lblTotalLinks” e defina a legenda como “Total de links neste documento”.
  17. E nomeie o segundo rótulo como “lblNumberOfInvalidLinks” e defina a legenda como “Número de links inválidos”.
  18. Nomeie a primeira caixa de texto como “txtTotalLinks” e a segunda como “txtNumberOfInvalidLinks”.Crie mais dois rótulos e caixas de texto
  19. Em seguida, encontre o controle do botão de comando na caixa de ferramentas. Crie dois botões de comando, como abaixo:Criar botões de comando
  20. Nomeie o primeiro botão como “cmdbtnClose” e seu texto de legenda como “Close”.
  21. Nomeie o segundo botão como “btnCloseAndHighlightInvalidURLs” e seu texto de legenda como “Fechar e realçar URLs inválidos”.
  22. Em seguida, clique duas vezes no botão "Fechar" e no botão "Fechar e realçar URLs inválidos", respectivamente. Digite os códigos da seguinte forma:Inserir códigos para botões de comando

Execute a Macro

Clique no botão atribuído à macro. Aqui está o efeito final:Efeito

Você pode ver informações detalhadas sobre cada link com falha na grande caixa de texto à esquerda. E você pode optar por fechar o formulário do usuário diretamente ou fechá-lo enquanto destaca todos os links quebrados no documento.

Lide com os problemas do Word com cuidado

O Word é facilmente sujeito a erros. Assim torna-se de extrema importância corrigir palavra corretamente. Most na maioria das vezes, a ferramenta integrada não pode ajudá-lo muito. Portanto, sua melhor escolha é obter uma ferramenta de reparo de terceiros.

Introdução do autor:

Vera Chen é especialista em recuperação de dados em DataNumen, Inc., líder mundial em tecnologias de recuperação de dados, incluindo consertar xlsx e pdf reparar produtos de software. Para mais informações visite www.datanumen.com

Compartilhe agora:

Comentários estão fechados.