Dalam artikel hari ini, kami ingin berbagi dengan Anda langkah-langkah untuk mengekstrak semua bookmark dari dokumen Word Anda untuk melihatnya sekaligus.
Di Word, Anda dapat membuat daftar isi atau daftar gambar dengan fungsi bawaan. Namun, pada akhirnya Anda akan menemukan bahwa tidak ada cara biasa untuk mengekstrak semua bookmark dokumen dan mengaturnya pada dokumen baru.
Seperti biasa, misi kami adalah memandu Anda melalui mitos dan memberi Anda cara makro untuk mengekspor semua bookmark serta teksnya ke dokumen kosong baru.
Ekstrak Batch Semua Bookmark dari Satu Dokumen
- Untuk starmati, buka open tardapatkan dokumen dan tekan "Alt + F11" untuk memanggil editor VBA.
- Selanjutnya klik "Normal" dan kemudian "Sisipkan".
- Dan pilih "Modul" untuk membuat yang baru di bawah proyek "Normal".
- Kemudian klik dua kali untuk memunculkan ruang pengeditan.
- Tempel makro berikut di sana:
Sub ExtractBookmarksInADoc()
Dim objBookmark As Bookmark
Dim objTable As Table
Dim nRow As Integer
Dim objDoc As Document, objNewDoc As Document
Dim objParagraph As Paragraph
Set objDoc = ActiveDocument
If objDoc.Bookmarks.Count = 0 Then
MsgBox ("There is no bookmark in this document.")
Else
Set objNewDoc = Documents.Add
Selection.TypeText Text:="Bookmarks in " & "'" & objDoc.Name & "'"
Set objTable = Selection.Tables.Add(Range:=Selection.Range, numrows:=1, numcolumns:=3)
objTable.Borders.Enable = True
nRow = 1
For Each objParagraph In objNewDoc.Paragraphs
If objParagraph.Range.Style = "Caption" Then
objParagraph.Range.Delete
End If
Next objParagraph
With objTable
.Cell(1, 1).Range.Text = "Name"
.Cell(1, 2).Range.Text = "Texts"
.Cell(1, 3).Range.Text = "Page Number"
For Each objBookmark In objDoc.Bookmarks
objTable.Rows.Add
nRow = nRow + 1
.Cell(nRow, 1).Range.Text = objBookmark.Name
.Cell(nRow, 2).Range.Text = objBookmark.Range.Text
.Cell(nRow, 3).Range.Text = objBookmark.Range.Information(wdActiveEndAdjustedPageNumber)
objDoc.Hyperlinks.Add Anchor:=.Cell(nRow, 3).Range, Address:=objDoc.Name, _
SubAddress:=objBookmark.Name, TextToDisplay:=.Cell(nRow, 3).Range.Text
Next objBookmark
End With
End If
objNewDoc.SaveAs2 FileName:=objDoc.Path & "\" & "Bookmarks in " & objDoc.Name
End Sub
- Terakhir, klik "Run".
Semua bookmark dari dokumen saat ini akan dimasukkan ke dalam tabel pada dokumen baru yang disimpan di bawah direktori yang sama dengan file asli.
Anda dapat melihat tabel 3 kolom di dokumen baru. Dan jika Anda mengikuti "Ctrl + Klik", itu akan membawa Anda ke bookmark di dokumen asli.
Batch Extract Bookmark dari Banyak Dokumen
Ikuti langkah yang sama di atas untuk menginstal dan menjalankan makro. Hanya saja kali ini Anda mengganti kode-kode tersebut dengan kode-kode di bawah ini:
Sub ExtractBookmarksInMultiDoc()
Dim objBookmark As Bookmark
Dim objTable As Table
Dim nRow As Integer
Dim objDoc As Document, objNewDoc As Document
Dim objParagraph As Paragraph
Dim strFolder As String, strFile As String
strFolder = InputBox("Enter folder path here: ")
strFile = Dir(strFolder & "*.docx", vbNormal)
While strFile <> ""
Set objDoc = Documents.Open(FileName:=strFolder & strFile)
Set objDoc = ActiveDocument
Set objNewDoc = Documents.Add
Selection.TypeText Text:="Bookmarks in " & "'" & objDoc.Name & "'"
Set objTable = Selection.Tables.Add(Range:=Selection.Range, numrows:=1, numcolumns:=3)
objTable.Borders.Enable = True
nRow = 1
For Each objParagraph In objNewDoc.Paragraphs
If objParagraph.Range.Style = "Caption" Then
objParagraph.Range.Delete
End If
Next objParagraph
With objTable
.Cell(1, 1).Range.Text = "Name"
.Cell(1, 2).Range.Text = "Texts"
.Cell(1, 3).Range.Text = "Page Number"
For Each objBookmark In objDoc.Bookmarks
objTable.Rows.Add
nRow = nRow + 1
.Cell(nRow, 1).Range.Text = objBookmark.Name
.Cell(nRow, 2).Range.Text = objBookmark.Range.Text
.Cell(nRow, 3).Range.Text = objBookmark.Range.Information(wdActiveEndAdjustedPageNumber)
objDoc.Hyperlinks.Add Anchor:=.Cell(nRow, 3).Range, Address:=objDoc.Name, _
SubAddress:=objBookmark.Name, TextToDisplay:=.Cell(nRow, 3).Range.Text
Next objBookmark
End With
objNewDoc.SaveAs2 FileName:=objDoc.Path & "\" & "Bookmarks in " & objDoc.Name
objDoc.Close
strFile = Dir()
Wend
End Sub
Setelah Anda menjalankan makro, ada kotak input. Masukkan jalur folder tempat Anda menyimpan semua dokumen. Dan ingat untuk tambahkan "\" di akhir jalan jika Anda hanya menyalinnya dari kotak teks folder. Kemudian klik “Oke”.
Cara Cepat Menyelamatkan Diri dari Bencana Data
Bencana data yang kita bicarakan di Word dapat terjadi setiap kali berhenti bekerja secara tidak normal. Terkadang, Anda beruntung dan memiliki semua informasi yang utuh. Dan di lain waktu, Anda menjadi korban bencana. Oleh karena itu, cara tercepat untuk mengambil data sebanyak mungkin adalah dengan mendapatkan alat untuk perbaiki docx.
Pengantar Penulis:
Vera Chen adalah pakar pemulihan data di DataNumen, Inc., yang merupakan pemimpin dunia dalam teknologi pemulihan data, termasuk perbaiki xlsx dan pdf memperbaiki produk perangkat lunak. Untuk informasi lebih lanjut kunjungi www.datanumen.com



