Šodienas rakstā mēs vēlētos dalīties ar jums darbībās, lai no visas jūsu Word dokumenta partijas izvilktu visas grāmatzīmes, lai tās uzreiz skatītu.
Programmā Word varat izveidot satura rādītāju vai skaitļu tabulu ar iebūvēto funkciju. Bet galu galā jūs atradīsit, ka nav ierasta veida, kā iegūt visas dokumenta grāmatzīmes un sakārtot tās jaunā dokumentā.
Kā vienmēr, mūsu misija ir iepazīstināt jūs ar mītu un sniegt makro veidu, kā eksportēt visas grāmatzīmes, kā arī to tekstus uz jaunu tukšu dokumentu.
Partijas izvilkt visas grāmatzīmes no viena dokumenta
- Uz start off, atveriet tariegūstiet dokumentu un nospiediet “Alt + F11”, lai izsauktu VBA redaktoru.
- Pēc tam noklikšķiniet uz “Normal” un pēc tam uz “Insert”.
- Un izvēlieties “Module”, lai izveidotu jaunu projektā “Normal”.
- Pēc tam veiciet dubultklikšķi uz tā, lai parādītu rediģēšanas vietu.
- Ielīmējiet tur šādu makro:
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
- Visbeidzot, bet ne mazāk svarīgi, noklikšķiniet uz “Palaist”.
Visas pašreizējā dokumenta grāmatzīmes tiks ievietotas jaunā dokumenta tabulā, kas saglabāta tajā pašā direktorijā kā sākotnējais fails.
Jaunajā dokumentā varat redzēt 3 kolonnu tabulu. Un, ja jūs sekojat “Ctrl + Click”, tas novedīs jūs pie grāmatzīmes oriģinālajā dokumentā.
Partijas ekstrakta grāmatzīmes no vairākiem dokumentiem
Lai instalētu un palaistu makro, rīkojieties iepriekš. Tikai šoreiz jūs aizstājat kodus ar zvanošiem kodiem:
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
Pēc makro palaišanas ir ievades lodziņš. Ievadiet mapes ceļu, kur glabājat visus dokumentus. Un atcerieties ceļa beigās pievienojiet “\” ja to vienkārši nokopējat no mapes tekstlodziņa. Pēc tam noklikšķiniet uz Labi.
Kā ātri glābt sevi no datu katastrofas
Datu katastrofa, par kuru mēs runājam programmā Word, var notikt ikreiz, kad tā pārstāj darboties neparasti. Dažreiz jums paveicas un visa informācija ir neskarta. Un citreiz jūs kļūsiet par katastrofas upuri. Tāpēc ātrākais veids, kā iegūt pēc iespējas vairāk datu, ir iegūt rīku labot docx.
Autora ievads:
Vera Čena ir datu atkopšanas eksperte DataNumen, Inc., kas ir pasaules līderis datu atkopšanas tehnoloģiju, tostarp labot xlsx un pdf programmatūras produktu labošana. Lai iegūtu vairāk informācijas, apmeklējiet vietni www.datanumen. Ar



