如何通过 VBA 批量验证 Word 文档中的所有超链接

立即分享:

在本文中,我们将向您展示一种通过 VBA 自动快速批量验证 Word 文档中所有超链接的方法。

一个 Word 文档可以包含许多超级链接,甚至数百个。 其中,有些是无效链接,无法将您引导至正确的网页。 因此,我们想为您提供一种通过 VBA 快速检查文档中所有链接的方法。批量验证 Word 文档中的所有超链接

安装并保存 Word 宏

  1. 首先,用“Alt+F11”打开VBA编辑器。
  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. 然后为宏分配一个按钮。 您可以参考以下文章了解详细信息:

如何在 Word 中使用宏和 VBA 删除粘贴文本的格式

创建用户表单

使用用户表单,您可以清楚地看到当前文档中的链接总数、无效链接数以及更多详细信息。

  1. 首先,再次点击工具栏上的“插入”。 但是这一次,选择“UserForm”。
  2. 接下来按“F4”打开左下角的“属性窗口”。 窗口大小可调。
  3. 现在将用户表单命名为“frmCheckURLs”。
  4. 将标题设置为“检查 URL”。
  5. 然后正确设置字体。
  6. 接下来单击工具栏上的“工具箱”按钮。点击“插入”->选择“用户窗体”->点击“属性窗口”->设置“名称”、“标题”、“字体”->点击“工具箱”
  7. 现在单击工具箱上的“标签”。 使用鼠标在用户窗体上拖动一个矩形标签。
  8. 单击标签以激活其属性窗口。 将标签名称设置为“lblInvalidURLs”,将标签标题设置为“Invalid URLs:”。
  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 很容易出错。 因此,它变得极其重要 修正字 正确。 米ost 有时,内置工具帮不了你那么大忙。 因此,您的首选是获得第三方修复工具。

作者简介:

Vera Chen 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 修复xlsx 和 pdf 修复软件产品。 欲了解更多信息,请访问 datanumen.com

立即分享:

评论被关闭。