Kako grupno izdvojiti sve oznake iz Word dokumenta

Podijeli sada:

U današnjem članku, željeli bismo podijeliti s vama korake za grupno izdvajanje svih oznaka iz vašeg Word dokumenta kako biste ih vidjeli odjednom.

U Wordu možete generirati tabelu sadržaja ili tabelu sa slikama s ugrađenom funkcijom. Ali, na kraju ćete otkriti da ne postoji uobičajen način da izdvojite sve oznake iz dokumenta i uredite ih na novom dokumentu.Kako grupno izdvojiti sve oznake iz Word dokumenta

Kao i uvijek, naša misija je da vas vodimo kroz mit i pružimo vam makro način za izvoz svih oznaka kao i njihovih tekstova u novi prazan dokument.

Grupno izdvajanje svih obeleživača iz jednog dokumenta

  1. Za početak, otvorite ciljni dokument i pritisnite "Alt+F11" da biste pozvali VBA editor.
  2. Zatim kliknite na “Normal” i zatim “Insert”.
  3. I odaberite “Module” da kreirate novi pod “Normal” projektom.Kliknite "Normalno"->Kliknite "Umetni"->Kliknite "Modul"
  4. Zatim dvaput kliknite na njega da otvorite prostor za uređivanje.
  5. Tamo zalijepite sljedeći 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. Na kraju, ali ne i najmanje važno, kliknite na “Run”.Zalijepite kodove->Kliknite na "Pokreni"

Sve oznake trenutnog dokumenta biće stavljene u tabelu na novom dokumentu sačuvanom u istom direktorijumu kao i originalni fajl.

U novom dokumentu možete vidjeti tabelu sa 3 kolone. A ako slijedite “Ctrl+Klik”, to će vas dovesti do oznake u originalnom dokumentu.Tabela sa svim oznakama i njihovim tekstovima i brojevima stranica

Skupno izdvajanje oznaka iz više dokumenata

Slijedite gore navedene korake da instalirate i pokrenete makro. Samo ovaj put zamijenite kodove sljedećim:

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

Kada pokrenete makro, postoji okvir za unos. Unesite putanju fascikle u kojoj čuvate sve dokumente. I zapamtite dodajte “\” na kraj putanje ako ga samo kopirate iz okvira za tekst foldera. Zatim kliknite na “OK”.Unesite putanju foldera->Kliknite "OK"

Kako se brzo spasiti od katastrofe podataka

Katastrofa podataka o kojoj govorimo u Wordu može se dogoditi kad god prestane raditi nenormalno. Ponekad vam se posreći i imate sve informacije netaknute. I drugi put, postanete žrtva katastrofe. Stoga je najbrži način da se dohvati što više podataka nabavka alata za popraviti docx.

Uvod za autora:

Vera Chen je stručnjak za oporavak podataka DataNumen, Inc., koji je svjetski lider u tehnologijama za oporavak podataka, uključujući popraviti xlsx i pdf popravak softverskih proizvoda. Za više informacija posjetite www.datanumen.com

Podijeli sada:

Komentari su zatvoreni.