Ինչպես խմբաքանակով հանել բոլոր էջանիշները ձեր Word փաստաթղթից

Կիսվել հիմա ՝

Այսօրվա հոդվածում մենք ցանկանում ենք ձեզ հետ կիսվել այն քայլերով, որոնք խմբաքանակով դուրս են հանում բոլոր էջանիշները ձեր Word փաստաթղթից՝ դրանք միանգամից դիտելու համար:

Word-ում ներկառուցված գործառույթով կարող եք ստեղծել բովանդակության աղյուսակ կամ թվերի աղյուսակ: Բայց, ի վերջո, դուք կգտնեք, որ սովորական միջոց չկա փաստաթղթի բոլոր էջանիշները հանելու և դրանք նոր փաստաթղթի վրա դասավորելու համար:Ինչպես խմբաքանակով հանել բոլոր էջանիշները ձեր Word փաստաթղթից

Ինչպես միշտ, մեր առաքելությունն է առաջնորդել ձեզ առասպելի միջով և տրամադրել ձեզ բոլոր էջանիշները, ինչպես նաև դրանց տեքստերը նոր դատարկ փաստաթուղթ արտահանելու մակրո եղանակով:

Խմբաքանակի քաղեք բոլոր էջանիշները մեկ փաստաթղթից

  1. Սկսելու համար բացեք նպատակային փաստաթուղթը և սեղմեք «Alt+F11»՝ VBA խմբագրիչը գործարկելու համար։
  2. Հաջորդը կտտացրեք «Նորմալ» և ապա «Տեղադրել»:
  3. Եվ ընտրեք «Մոդուլ»՝ «Նորմալ» նախագծի տակ նորը ստեղծելու համար:Սեղմեք «Նորմալ» -> Սեղմեք «Տեղադրել» -> Սեղմեք «Մոդուլ»
  4. Այնուհետև կրկնակի սեղմեք դրա վրա՝ խմբագրման տարածքը դուրս բերելու համար:
  5. Տեղադրեք հետևյալ մակրոը ՝
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. Վերջինը, բայց ոչ պակաս կարևոր է, կտտացրեք «Վազել»:Կպցնել կոդերը -> Սեղմել «Գործարկել»

Ընթացիկ փաստաթղթի բոլոր էջանիշները կտեղադրվեն աղյուսակում նոր փաստաթղթի վրա, որը պահվում է նույն գրացուցակում, ինչ բնօրինակ ֆայլը:

Նոր փաստաթղթում կարող եք տեսնել 3 սյունակներից բաղկացած աղյուսակը: Եվ եթե հետևեք «Ctrl+ Click»-ին, այն ձեզ կբերի բնօրինակ փաստաթղթի էջանիշին:Բոլոր էջանիշների և դրանց տեքստերի և էջի համարների աղյուսակ

Բազմաթիվ փաստաթղթերից էջանիշների խմբաքանակի քաղում

Մակրո տեղադրելու և գործարկելու համար հետևեք վերը նշված նույն քայլերին: Միայն այս անգամ կոդերը փոխարինեք հետևյալով.

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

Մակրոն գործարկելուց հետո կա մուտքագրման տուփ: Մուտքագրեք թղթապանակի ուղին, որտեղ պահում եք բոլոր փաստաթղթերը: Եվ հիշեք ավելացրեք «\» ուղու վերջում եթե պարզապես պատճենեք այն թղթապանակի տեքստային տուփից: Այնուհետև սեղմեք «OK»:Մուտքագրեք պանակի ուղի-> Սեղմեք «OK»

Ինչպես արագ փրկվել տվյալների աղետից

Տվյալների աղետը, որի մասին մենք խոսում ենք Word-ում, կարող է տեղի ունենալ, երբ այն դադարում է աշխատել աննորմալ կերպով: Երբեմն ձեր բախտը բերում է և ամբողջ տեղեկատվությունը անփոփոխ է: Իսկ ուրիշ անգամ դու դառնում ես աղետի զոհ։ Հետևաբար, հնարավորինս շատ տվյալներ առբերելու ամենաարագ ճանապարհը գործիք ձեռք բերելն է շտկել docx- ը.

Հեղինակի ներածություն.

Վերա Չենը տվյալների վերականգնման փորձագետ է DataNumen, Inc., որը տվյալների վերականգման տեխնոլոգիաների համաշխարհային առաջատարն է, այդ թվում վերանորոգել xlsx և pdf նորոգել ծրագրային արտադրանքները: Լրացուցիչ տեղեկությունների համար այցելեք www.datanumen.com

Կիսվել հիմա ՝

Comments փակվում են: