Kuidas koguda oma Wordi dokumendist kõik järjehoidjad pakkida

Tänases artiklis soovime teiega jagada samme, kuidas kõik järjehoidjad oma Wordi dokumendist pakk välja võtta, et neid korraga vaadata.

Wordis saate sisseehitatud funktsiooniga luua sisukorra või jooniste tabeli. Kuid lõpuks avastate, et ei ole tavalist võimalust dokumendi kõigi järjehoidjate eraldamiseks ja uueks dokumendiks korraldamiseks.Kuidas koguda oma Wordi dokumendist kõik järjehoidjad pakkida

Nagu alati, on meie missioon juhtida teid läbi müüdi ja pakkuda teile makromeetodit kõigi järjehoidjate ja nende tekstide eksportimiseks uude tühja dokumenti.

Pakkige kõik järjehoidjad ühest dokumendist välja

  1. Alustamiseks avage sihtdokument ja vajutage VBA redaktori käivitamiseks klahvikombinatsiooni „Alt + F11”.
  2. Järgmisena klõpsake nuppu "Tavaline" ja seejärel "Insert".
  3. Ja valige "Moodul", et luua uus projekti "Tavaline" all.Klõpsake "Tavaline" -> Klõpsake "Lisa" -> klõpsake "Moodul"
  4. Seejärel topeltklõpsake sellel, et tuua esile redigeerimisruum.
  5. Kleepige sinna järgmine 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
  1. Viimane, kuid mitte vähem oluline, klõpsake nuppu "Käivita".Kleebi koodid -> klõpsake "Käivita"

Kõik praeguse dokumendi järjehoidjad paigutatakse uue dokumendi tabelisse, mis on salvestatud algse failiga samasse kataloogi.

Uues dokumendis näete 3 veeru tabelit. Ja kui järgite klahvikombinatsiooni "Ctrl + Click", viib see teid algdokumendi järjehoidja juurde.Kõigi järjehoidjate ja nende tekstide ning leheküljenumbrite tabel

Pakkige järjehoidjate väljavõte mitmest dokumendist

Makro installimiseks ja käivitamiseks järgige ülaltoodud samme. Ainult seekord asendate koodid järgmistega:

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

Kui olete makro käivitanud, on sisestuskast. Sisestage kausta tee, kuhu kõik dokumendid salvestate. Ja pidage meeles lisage tee lõppu "\". kui kopeerite selle lihtsalt kausta tekstikastist. Seejärel klõpsake nuppu "OK".Sisestage kausta tee -> klõpsake "OK"

Kuidas end kiiresti andmekatastroofist päästa

Andmekatastroof, millest Wordis räägime, võib juhtuda alati, kui see lakkab töötamast ebatavaliselt. Mõnikord veab ja kogu teave on puutumata. Ja teinekord langete katastroofi ohvriks. Seetõttu on kiireim viis võimalikult suure hulga andmete hankimiseks hankida tööriist paranda docx.

Autori sissejuhatus:

Vera Chen on andmete taastamise ekspert DataNumen, Inc., mis on maailmas juhtiv andmete taastamise tehnoloogiate, sealhulgas remont xlsx ja pdf tarkvaratooted. Lisateabe saamiseks külastage www.datanumenCom

Kommentaarid on suletud.