Word құжатынан барлық бетбелгілерді топтамалық шығару жолы

Қазір бөлісу:

Бүгінгі мақалада біз сізбен Word құжатынан барлық бетбелгілерді бірден көру үшін топтамалық шығарып алу қадамдарымен бөліскіміз келеді.

Word бағдарламасында кірістірілген функциясы бар мазмұндар кестесін немесе суреттер кестесін жасауға болады. Бірақ, сайып келгенде, құжаттың барлық бетбелгілерін шығарып, оларды жаңа құжатта реттеудің әдеттегі жолы жоқ екенін көресіз.Word құжатынан барлық бетбелгілерді топтамалық шығару жолы

Әдеттегідей, біздің миссиямыз сізді мифтен өткізу және барлық бетбелгілерді, сондай-ақ олардың мәтіндерін жаңа бос құжатқа экспорттаудың макрос жолын ұсыну болып табылады.

Бір құжаттан барлық бетбелгілерді топтамалық шығарып алу

  1. Бастау үшін мақсатты құжатты ашып, VBA редакторын шақыру үшін «Alt+F11» пернелер тіркесімін басыңыз.
  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

Қазір бөлісу:

Пікірлер жабылды.