Microsoft Office 2010ドキュメント内のすべてのハイパーリンクの一覧を取得する方法はありますか?
壊れたリンクについて多数の大きな文書(Word、Excel、およびPowerPointの文書を大量に収集する)をチェックしようとしています。すべてのリンク
Microsoft Office 2010ドキュメント内のすべてのハイパーリンクの一覧を取得する方法はありますか?
壊れたリンクについて多数の大きな文書(Word、Excel、およびPowerPointの文書を大量に収集する)をチェックしようとしています。すべてのリンク
回答:
MS WORDの場合
Press Alt + F9 to display the fields
Ctrl + F to open the search box
Search: ^d hyperlink
Check "Highlight all items found ..."
Click on the Find All button
Close the dialog
Ctrl + C to copy everything that is highlighted
Open a new document and paste.
Excelの場合
Close all workbooks except the one you want to find the links in.
On the Edit menu, click Find.
Click Options.
In the Find what box, enter [.
In the Within box, click Workbook.
In the Look In box, click Formulas.
Click Find All.
In the box at the bottom, look in the Formula column for formulas that contain [.
To select the cell with a link, select the row in the box at the bottom.
Links are also commonly used in names, text boxes, or chart titles.
Word文書内のすべてのハイパーリンクを一覧表示するには
Sub CheckLinks()
Set doc = ActiveDocument
Dim i
For i = 1 To doc.Hyperlinks.Count
Debug.Print doc.Hyperlinks(i).Address & " " & doc.Hyperlinks(i).SubAddress
Next
End Sub
私は自分のバージョンのMicrosoft Word(2013)を入手できなかったので、@ user228546の回答が本当に役に立ちました。ただし、これは少し簡単なので、Visual Basic for Applicationsに関する十分な知識が必要です( VBA )すべてを動かすために
これは、VBAについてあまり知らない一部の人々を助けることができる、少し修正された答えです。
VBAエディタにアクセスする必要があります。 Alt + F11 。 「挿入」を使用 ->
上部に「モジュール」と表示されているので、エディタウィンドウが表示されます。
実際に、抽出したハイパーリンクを新しい文書に保存します。その後、それを保存します。
エディタウィンドウに次のように入力(またはコピー/貼り付け)します。
Sub GetLinksInNewDoc()
'
' Finds all hyperlinks (even with strange formats,
' as long as they're active)
' and displays them in a new document.
'
' Declare the types of our variables
Dim doc As Document
Dim newDoc As Document
Dim hlink As Hyperlink
' Use the script on the current document
Set doc = ActiveDocument
' Open a new document to put the link addresses into
Set newDoc = Documents.Add
' Loop through all the hyperlinks using the iterable hlink variable
With doc
For Each hlink In .Hyperlinks
' Switch into the new document
newDoc.Activate
' Put the Hyperlink Address in the new document
With Selection
.InsertAfter hlink.Address & " " & hlink.SubAddress
.InsertAfter vbNewLine
End With
Next hlink
End With
Set doc = Nothing
Set newDoc = Nothing
End Sub
ハイパーリンクを含む文書が、最後に強調表示したMicrosoft Word文書であることを確認してください。コードを保存してください。緑色の矢印をクリックして実行するか、上部のツールバーから[実行]を選択します。 ->
「Sub / UserFormを実行する」またはを押す F5
最終的にドキュメントに含まれるテキストの「灰色の幽霊」が出るかもしれないことに注意してください - 何か
さて、あなたが実際にURLをに保存したいのなら TXT
この質問に私を導いたものです、あなたのコードがあるべきであることを除いて、あなたは同じ手順を使用することができます
Sub GetLinksInTxtFile()
'
' Finds all hyperlinks (even with strange formats,
' as long as they're active)
' and outputs them to a TXT file.
' The TXT file will be written in the same directory
' as the original document
'
' Declare the types of our variables
Dim doc As Document
Dim hlink As Hyperlink
' Use the script on the current document
Set doc = ActiveDocument
' Get a text file ready to which you will write the URLs
' Some old-school BASIC
Open doc.Path & "\the_urls.txt" For Output As #1
' Loop through all the hyperlinks using the iterable hlink variable
With doc
For Each hlink In .Hyperlinks
Print #1, hlink.Address & " " & hlink.SubAddress
Next hlink
End With
Close #1
Set doc = Nothing
End Sub
助けになれば幸いです。
ソース 私の理解のために、新しい文書へのコピーの概要。
ソース テキストファイルへの書き込み用(これは私が最初に探していたものです)