Այսօրվա հոդվածում մենք ցանկանում ենք ձեզ հետ կիսվել այն քայլերով, որոնք խմբաքանակով դուրս են հանում բոլոր էջանիշները ձեր Word փաստաթղթից՝ դրանք միանգամից դիտելու համար:
Word-ում ներկառուցված գործառույթով կարող եք ստեղծել բովանդակության աղյուսակ կամ թվերի աղյուսակ: Բայց, ի վերջո, դուք կգտնեք, որ սովորական միջոց չկա փաստաթղթի բոլոր էջանիշները հանելու և դրանք նոր փաստաթղթի վրա դասավորելու համար:
Ինչպես միշտ, մեր առաքելությունն է առաջնորդել ձեզ առասպելի միջով և տրամադրել ձեզ բոլոր էջանիշները, ինչպես նաև դրանց տեքստերը նոր դատարկ փաստաթուղթ արտահանելու մակրո եղանակով:
Խմբաքանակի քաղեք բոլոր էջանիշները մեկ փաստաթղթից
- Սկսելու համար բացեք նպատակային փաստաթուղթը և սեղմեք «Alt+F11»՝ VBA խմբագրիչը գործարկելու համար։
- Հաջորդը կտտացրեք «Նորմալ» և ապա «Տեղադրել»:
- Եվ ընտրեք «Մոդուլ»՝ «Նորմալ» նախագծի տակ նորը ստեղծելու համար:
- Այնուհետև կրկնակի սեղմեք դրա վրա՝ խմբագրման տարածքը դուրս բերելու համար:
- Տեղադրեք հետևյալ մակրոը ՝
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
- Վերջինը, բայց ոչ պակաս կարևոր է, կտտացրեք «Վազել»:
Ընթացիկ փաստաթղթի բոլոր էջանիշները կտեղադրվեն աղյուսակում նոր փաստաթղթի վրա, որը պահվում է նույն գրացուցակում, ինչ բնօրինակ ֆայլը:
Նոր փաստաթղթում կարող եք տեսնել 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»:
Ինչպես արագ փրկվել տվյալների աղետից
Տվյալների աղետը, որի մասին մենք խոսում ենք Word-ում, կարող է տեղի ունենալ, երբ այն դադարում է աշխատել աննորմալ կերպով: Երբեմն ձեր բախտը բերում է և ամբողջ տեղեկատվությունը անփոփոխ է: Իսկ ուրիշ անգամ դու դառնում ես աղետի զոհ։ Հետևաբար, հնարավորինս շատ տվյալներ առբերելու ամենաարագ ճանապարհը գործիք ձեռք բերելն է շտկել docx- ը.
Հեղինակի ներածություն.
Վերա Չենը տվյալների վերականգնման փորձագետ է DataNumen, Inc., որը տվյալների վերականգման տեխնոլոգիաների համաշխարհային առաջատարն է, այդ թվում վերանորոգել xlsx և pdf նորոգել ծրագրային արտադրանքները: Լրացուցիչ տեղեկությունների համար այցելեք www.datanumen.com



