Jak wsadowo wyodrębnić wszystkie zakładki z dokumentu programu Word

Podziel się teraz:

W dzisiejszym artykule chcielibyśmy podzielić się z Tobą krokami, aby zbiorczo wyodrębnić wszystkie zakładki z dokumentu Word, aby wyświetlić je jednocześnie.

W programie Word możesz wygenerować spis treści lub spis rysunków za pomocą wbudowanej funkcji. Ale ostatecznie przekonasz się, że nie ma zwykłego sposobu na wyodrębnienie wszystkich zakładek z dokumentu i ułożenie ich w nowym dokumencie.Jak wsadowo wyodrębnić wszystkie zakładki z dokumentu programu Word

Jak zawsze, naszą misją jest poprowadzenie Cię przez mit i dostarczenie makro sposobu na wyeksportowanie wszystkich zakładek wraz z ich tekstem do nowego, pustego dokumentu.

Wyodrębnij wsadowo wszystkie zakładki z jednego dokumentu

  1. Aby rozpocząć, otwórz dokument docelowy i naciśnij „Alt+F11”, aby wywołać edytor VBA.
  2. Następnie kliknij „Normalne”, a następnie „Wstaw”.
  3. I wybierz „Moduł”, aby utworzyć nowy w ramach projektu „Normalny”.Kliknij „Normalne” -> Kliknij „Wstaw” -> Kliknij „Moduł”
  4. Następnie kliknij go dwukrotnie, aby wydobyć przestrzeń edycyjną.
  5. Wklej tam następujące 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 koniec kliknij „Uruchom”.Wklej kody-> Kliknij „Uruchom”

Wszystkie zakładki bieżącego dokumentu zostaną umieszczone w tabeli w nowym dokumencie zapisanym w tym samym katalogu co oryginalny plik.

Możesz zobaczyć tabelę z 3 kolumnami w nowym dokumencie. A jeśli zastosujesz „Ctrl + kliknięcie”, przeniesie Cię to do zakładki w oryginalnym dokumencie.Spis wszystkich zakładek wraz z ich tekstami i numerami stron

Wyodrębnij wsadowo zakładki z wielu dokumentów

Wykonaj te same czynności powyżej, aby zainstalować i uruchomić makro. Tylko tym razem zamieniasz kody na poniższe:

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

Po uruchomieniu makra pojawia się pole wprowadzania. Wprowadź ścieżkę folderu, w którym przechowujesz wszystkie dokumenty. I pamiętaj dodaj „\” na końcu ścieżki jeśli po prostu skopiujesz go z pola tekstowego folderu. Następnie kliknij „OK”.Wprowadź ścieżkę do folderu -> Kliknij „OK”

Jak szybko uratować się przed katastrofą danych

Katastrofa danych, o której mówimy w programie Word, może się zdarzyć, gdy przestanie działać nienormalnie. Czasami masz szczęście i wszystkie informacje są nienaruszone. A innym razem padasz ofiarą katastrofy. Dlatego najszybszym sposobem na odzyskanie jak największej ilości danych jest zdobycie narzędzia do napraw dokument.

Wprowadzenie autora:

Vera Chen jest ekspertem w dziedzinie odzyskiwania danych w DataNumen, Inc., która jest światowym liderem w technologiach odzyskiwania danych, w tym napraw xlsx i pdf oprogramowanie do naprawy. po więcej informacji odwiedź www.datanumen.com

Podziel się teraz:

Możliwość dodawania komentarzy nie jest dostępna.