すべてのハイパーリンクのリストを入手しますか?


6

Microsoft Office 2010ドキュメント内のすべてのハイパーリンクの一覧を取得する方法はありますか?

壊れたリンクについて多数の大きな文書(Word、Excel、およびPowerPointの文書を大量に収集する)をチェックしようとしています。すべてのリンク

回答:


8

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で最もうまく機能します。 ExcelとPowerPointの違いは?
Williham Totland

あなたはExcelでマクロを使用することができます。答えを編集しました。 Plzはチェックします。
Unnikrishnan

Excelの答えは、実際にはその質問に答えているわけではありません。必要なのは、文書にハイパーリンクが含まれているかどうかをどこにでもすばやく確認することです。
Williham Totland

編集された答え..
Unnikrishnan

残念ながら、私が言うことができるように、Excelの答えはうまくいきません。
Williham Totland

1

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)で、受け入れられた回答に選択肢が表示されないこれが私にとって有効な唯一のアプローチでした。
bballdave025

0

私は自分のバージョンの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

最終的にドキュメントに含まれるテキストの「灰色の幽霊」が出るかもしれないことに注意してください - 何か

Grey Ghost example


TXTファイルでリンクアドレスを取得する

さて、あなたが実際に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

助けになれば幸いです。


ソース 私の理解のために、新しい文書へのコピーの概要。

他の関連資料

ソース テキストファイルへの書き込み用(これは私が最初に探していたものです)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.