Memperoleh daftar semua hyperlink?

6

Apakah ada beberapa metode yang dengannya daftar semua hyperlink di Dokumen Microsoft Office 2010 dapat diperoleh?

Saya mencoba memeriksa sejumlah besar dokumen besar (satu tas ambil dokumen Word, Excel dan PowerPoint) untuk tautan yang rusak, dan saya lebih suka tidak perlu membaca setiap baris dari setiap dokumen untuk memverifikasi bahwa saya memiliki daftar semua tautan.

Williham Totland
sumber

Jawaban:

8

Untuk 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.

Untuk 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.
Unnikrishnan
sumber
Ini bekerja paling baik untuk Word; tapi bagaimana dengan Excel dan PowerPoint?
Williham Totland
Anda dapat menggunakan makro di excel. Saya telah mengedit jawabannya. Tolong periksa.
Unnikrishnan
Jawaban Excel tidak benar-benar menjawab pertanyaan: Yang saya butuhkan adalah memastikan dengan cepat apakah suatu dokumen berisi hyperlink atau tidak, di mana saja.
Williham Totland
jawaban yang diedit ..
Unnikrishnan
Sayangnya, sedekat yang saya tahu, jawaban Excel tidak berfungsi.
Williham Totland
1

Untuk mendaftar semua hyperlink di dokumen 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
user228546
sumber
Saya tidak bisa mendapatkan versi Microsoft Word (2013) untuk menunjukkan kepada saya opsi dalam jawaban yang diterima. Ini adalah satu-satunya pendekatan yang berhasil bagi saya.
bballdave025
0

Saya benar-benar menemukan jawaban @ user228546 bermanfaat, karena saya tidak bisa mendapatkan versi Microsoft Word (2013) untuk menunjukkan kepada saya opsi dalam jawaban yang diterima. Namun, ini sedikit singkat, dan membutuhkan pengetahuan yang baik tentang Visual Basic for Applications ( VBA ) untuk mendapatkan semuanya untuk bekerja.

Inilah jawaban yang sedikit dimodifikasi yang dapat membantu beberapa orang yang tidak tahu banyak tentang VBA.

Anda harus menggunakan editor VBA Alt + F11 . Gunakan "Sisipkan" -> "Modul" di bagian atas, yang akan memberi Anda jendela editor.


Dapatkan Alamat Tautan di Dokumen Baru

Saya sebenarnya akan menyimpan hyperlink yang diekstrak ke dalam dokumen baru, yang kemudian akan saya simpan.

Ketik (atau salin / tempel) yang berikut ke dalam jendela editor.

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

Pastikan bahwa Dokumen Anda dengan hyperlink adalah dokumen Microsoft Word terakhir yang telah Anda sorot. Simpan kode Anda. Klik panah hijau untuk menjalankan, atau dari bilah alat atas pilih "Jalankan" -> "Jalankan Sub / UserForm", atau tekan F5

Perhatikan bahwa Anda mungkin mendapatkan "hantu abu-abu" dari teks yang pada akhirnya akan ada dalam dokumen - sesuatu seperti

Grey Ghost example


Dapatkan Alamat Tautan di File TXT

Sekarang, jika Anda benar-benar ingin menyimpan URL ke a TXT file, yang membuat saya pertanyaan ini, Anda dapat menggunakan prosedur yang sama, kecuali kode Anda seharusnya

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

Saya harap ini membantu.


Sumber untuk pemahaman saya, garis besar menyalin ke dokumen baru.

Sumber terkait lainnya

Sumber untuk menulis ke file teks (yang awalnya saya cari)

bballdave025
sumber