この記事では、VBAを介してWord文書内のすべてのハイパーリンクをすばやくバッチ検証する自動方法を紹介します。
Word文書には、何百ものハイパーリンクを含めることができます。 それらの中には、正しいウェブページにあなたを導くことができない無効なリンクがあります。 したがって、VBAを介してドキュメント内のすべてのリンクをすばやく確認する方法を提供したいと考えています。
Wordマクロをインストールして保存する
- まず、「Alt + F11」でVBAエディタを開きます。
- 次に、「通常」プロジェクトをクリックします。
- 次に、ツールバーメニューの「挿入」タブをクリックします。
- そして、メニューから「モジュール」を選択します。
- モジュールをダブルクリックして編集スペースを開き、次のコードをそこに貼り付けます。
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
- 次に「保存」をクリックします。
- 次に、マクロにボタンを割り当てます。 詳細については、次の記事を参照してください。
WordでマクロとVBAを使用して貼り付けたテキストのフォーマットを削除する方法
ユーザーフォームを作成する
ユーザーフォームを使用すると、現在のドキュメント内のリンクの総数、無効なリンクの数などの詳細を明確に確認できます。
- まず、ツールバーの「挿入」をもう一度クリックします。 ただし、今回は「UserForm」を選択します。
- 次に「F4」を押して、左下隅にある「プロパティウィンドウ」を開きます。 ウィンドウサイズは調整可能です。
- 次に、ユーザーフォームに「frmCheckURLs」という名前を付けます。
- キャプションを「URLの確認」に設定します。
- 次に、フォントを適切に設定します。
- 次に、ツールバーの「ツールボックス」ボタンをクリックします。
- 次に、ツールボックスの「ラベル」をクリックします。 マウスを使用して、ユーザーフォーム上の長方形のラベルをドラッグします。
- ラベルをクリックして、プロパティウィンドウをアクティブにします。 ラベル名を「lblInvalidURLs」に設定し、ラベルキャプションを「InvalidURLs:」に設定します。
- 次に、ラベルのキャプションテキストに適切なフォントと前色を選択します。
- ツールボックスで「テキストボックス」を選択し、ユーザーフォームにテキストボックスを挿入します。 サイズを調整します。
- 次に、テキストボックス名を「txtShowResult」に設定します。
- 必要に応じてフォントとフォアカラーを設定します。
- 「MultiLine」を見つけて「True」に設定します。
- 「スクロールバー」を見つけて、垂直バーを選択します。
- 次に、さらにXNUMXつのラベルとテキストボックスを作成します。
- 次に、最初のラベルに「lblTotalLinks」という名前を付け、キャプションを「このドキュメント内の合計リンク」に設定します。
- そして、XNUMX番目のラベルに「lblNumberOfInvalidLinks」という名前を付け、キャプションを「無効なリンクの数」に設定します。
- 最初のテキストボックスに「txtTotalLinks」という名前を付け、XNUMX番目のテキストボックスに「txtNumberOfInvalidLinks」という名前を付けます。
- 次に、ツールボックスでコマンドボタンコントロールを見つけます。 次のようなXNUMXつのコマンドボタンを作成します。
- 最初のボタンに「cmdbtnClose」という名前を付け、そのキャプションテキストに「Close」という名前を付けます。
- XNUMX番目のボタンに「btnCloseAndHighlightInvalidURLs」という名前を付け、そのキャプションテキストに「無効なURLを閉じて強調表示する」という名前を付けます。
- 次に、「閉じる」ボタンと「無効なURLを閉じて強調表示する」ボタンをそれぞれダブルクリックします。 次のようにコードを入力します。
マクロを実行する
マクロに割り当てるボタンをクリックします。 最終的な効果は次のとおりです。
左側の大きなテキストボックスに、失敗した各リンクに関する詳細情報が表示されます。 また、ユーザーフォームを直接閉じるか、ドキュメント内の壊れたリンクをすべて強調表示して閉じるかを選択できます。
単語の問題を慎重に処理する
Wordは簡単にエラーが発生しやすくなります。 したがって、 Wordを修正 正しく。 Most 当時、組み込みツールはあまり役に立ちません。 したがって、あなたの一番の選択は、サードパーティの修復ツールを入手することです。
著者紹介:
Vera Chenは、のデータ復旧の専門家です。 DataNumen、Inc。は、以下を含むデータ復旧技術の世界的リーダーです。 xlsxを修復する and pdf ソフトウェア製品を修理します。 詳細については、次のWebサイトをご覧ください。 WWW。datanumen.com

![コードの貼り付け-> [保存]をクリックします コードの貼り付け-> [保存]をクリックします](https://www.datanumen.com/blogs/wp-content/uploads/2017/05/Paste-Codes-then-Click-Save-4.jpg)






