如何通過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. 接下來,為標籤標題文本選擇適當的字體和前色。單擊“標籤”->設置“名稱”,“標題”,“字體”和“ ForeColor”
  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”,其標題文本命名為“ Close&Highlight Invalid URLs”。
  22. 接下來,分別雙擊“關閉”按鈕和“關閉並突出顯示無效的URL”按鈕。 輸入代碼如下:輸入命令按鈕的代碼

運行宏

單擊您分配給宏的按鈕。 這是最終效果:影響

您可以在左側的大文本框中查看有關每個失敗鏈接的詳細信息。 您可以選擇直接關閉用戶表單,也可以在突出顯示文檔中所有斷開的鏈接的同時關閉用戶表單。

認真處理單詞問題

Word很容易出錯。 因此,對於 修復Word 正確地。 中號ost 通常,內置工具無法為您提供太大幫助。 因此,您的首要選擇是獲取第三方修復工具。

作者簡介:

陳薇薇(Vera Chen)是 DataNumen,Inc.是數據恢復技術的全球領導者,包括 維修xlsx 以及 pdf 維修軟件產品。 欲了解更多信息,請訪問 萬維網。datanumen.COM

立即分享:

評論被關閉。