Бүгінгі мақалада біз сізбен Word құжатынан барлық бетбелгілерді бірден көру үшін топтамалық шығарып алу қадамдарымен бөліскіміз келеді.
Word бағдарламасында кірістірілген функциясы бар мазмұндар кестесін немесе суреттер кестесін жасауға болады. Бірақ, сайып келгенде, құжаттың барлық бетбелгілерін шығарып, оларды жаңа құжатта реттеудің әдеттегі жолы жоқ екенін көресіз.
Әдеттегідей, біздің миссиямыз сізді мифтен өткізу және барлық бетбелгілерді, сондай-ақ олардың мәтіндерін жаңа бос құжатқа экспорттаудың макрос жолын ұсыну болып табылады.
Бір құжаттан барлық бетбелгілерді топтамалық шығарып алу
- Бастау үшін мақсатты құжатты ашып, VBA редакторын шақыру үшін «Alt+F11» пернелер тіркесімін басыңыз.
- Әрі қарай «Қалыпты», содан кейін «Кірістіру» батырмасын басыңыз.
- «Қалыпты» жобасының астында жаңасын жасау үшін «Модуль» таңдаңыз.
- Содан кейін өңдеу кеңістігін шығару үшін оны екі рет басыңыз.
- Мына макросты қойыңыз:
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



