ในบทความของวันนี้เราต้องการแบ่งปันขั้นตอนในการแยกบุ๊กมาร์กทั้งหมดจากเอกสาร Word ของคุณเพื่อดูพร้อมกัน
ใน Word คุณสามารถสร้างสารบัญหรือตารางตัวเลขด้วยฟังก์ชันในตัว แต่ในที่สุดคุณจะพบว่าไม่มีวิธีปกติในการแยกบุ๊กมาร์กทั้งหมดของเอกสารและจัดเรียงในเอกสารใหม่
เช่นเคยภารกิจของเราคือนำคุณผ่านตำนานและจัดหาวิธีมาโครในการส่งออกบุ๊กมาร์กทั้งหมดรวมทั้งข้อความไปยังเอกสารเปล่าใหม่
Batch แยกบุ๊กมาร์กทั้งหมดออกจากเอกสารเดียว
- เริ่มต้นด้วยการเปิดเอกสารเป้าหมายแล้วกด “Alt+F11” เพื่อเรียกใช้ตัวแก้ไข VBA
- จากนั้นคลิก "ปกติ" แล้วคลิก "แทรก"
- และเลือก "โมดูล" เพื่อสร้างใหม่ภายใต้โครงการ "ปกติ"
- จากนั้นดับเบิลคลิกเพื่อดึงพื้นที่แก้ไขออกมา
- วางมาโครต่อไปนี้ที่นั่น:
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
- สุดท้าย แต่ไม่ท้ายสุดให้คลิก“ เรียกใช้”
บุ๊กมาร์กทั้งหมดของเอกสารปัจจุบันจะถูกใส่ไว้ในตารางบนเอกสารใหม่ที่บันทึกไว้ภายใต้ไดเร็กทอรีเดียวกับไฟล์ต้นฉบับ
คุณสามารถดูตาราง 3 คอลัมน์ในเอกสารใหม่ และหากคุณทำตาม“ Ctrl + Click” ระบบจะนำคุณไปยังบุ๊กมาร์กในเอกสารต้นฉบับ
Batch แยกบุ๊กมาร์กจากเอกสารหลายชุด
ทำตามขั้นตอนเดียวกันด้านบนเพื่อติดตั้งและเรียกใช้แมโคร คราวนี้คุณแทนที่รหัสด้วยรหัสที่ร้อง:
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
เมื่อคุณเรียกใช้แมโครจะมีช่องป้อนข้อมูล ป้อนเส้นทางโฟลเดอร์ที่คุณจัดเก็บเอกสารทั้งหมด และอย่าลืม เพิ่ม“ \” ที่ท้ายเส้นทาง หากคุณเพียงแค่คัดลอกจากกล่องข้อความของโฟลเดอร์ จากนั้นคลิก“ ตกลง”
วิธีการช่วยเหลือตัวเองอย่างรวดเร็วจากภัยพิบัติข้อมูล
ความหายนะของข้อมูลที่เราพูดถึงใน Word อาจเกิดขึ้นได้ทุกเมื่อที่หยุดทำงานอย่างผิดปกติ บางครั้งคุณโชคดีและมีข้อมูลครบถ้วน และในบางครั้งคุณตกเป็นเหยื่อของภัยพิบัติ ดังนั้นวิธีที่เร็วที่สุดในการดึงข้อมูลให้ได้มากที่สุดคือการขอรับเครื่องมือ แก้ไข docx.
บทนำผู้เขียน:
Vera Chen เป็นผู้เชี่ยวชาญด้านการกู้คืนข้อมูลใน DataNumen, Inc. ซึ่งเป็นผู้นำระดับโลกด้านเทคโนโลยีการกู้คืนข้อมูล ได้แก่ ซ่อม xlsx และ pdf ซ่อมแซมผลิตภัณฑ์ซอฟต์แวร์ ดูข้อมูลเพิ่มเติมได้ที่ wwwdatanumenด้วย.



