Note: The other languages of the website are Google-translated. Back to English
Autentificare  \/ 
x
or
x
Înregistrare  \/ 
x

or

Cum se imprimă lista de marcaje în documentul Word?

Ați încercat vreodată să imprimați o listă de marcaje într-un document Word? Aici vă vom arăta metodele de realizare.

Extrageți toate marcajele și imprimați cu VBA

Imprimați direct toate marcajele cu VBA


Extrageți toate marcajele și imprimați cu VBA

Codul VBA de mai jos vă va ajuta să listați toate marcajele de la documentul curent la unul nou și puteți imprima manual marcajele extrase după cum aveți nevoie. Vă rugăm să faceți următoarele.

1. Deschideți documentul pe care îl veți imprima marcajele, apăsați pe Alt + F11 tastele pentru a deschide Microsoft Visual Basic pentru aplicații fereastră.

2. În Microsoft Visual Basic pentru aplicații fereastră, faceți clic pe Insera > Module, apoi copiați codul de mai jos în fereastra Module.

Cod VBA: extrageți toate marcajele într-un document nou

Sub ExtractBookmarksInADoc()
'Updated by Extendoffice 20181123
    Dim xRow As Long
    Dim xTable As Table
    Dim xDoc As Document
    Dim xBookMark As Bookmark
    Dim xBookMarkDoc As Document
    Dim xParagraph As Paragraph
    Set xDoc = ActiveDocument
    If xDoc.Bookmarks.Count = 0 Then
        MsgBox "There is no bookmark in this document", vbInformation, "KuTools for Word"
        Exit Sub
    End If
    Set xBookMarkDoc = Documents.Add
    xRow = 1
    Selection.TypeText "BookMarks in " & "'" & xDoc.Name & "'"
    Set xTable = Selection.Tables.Add(Selection.Range, 1, 3)
    xTable.Borders.Enable = True
    With xTable
        .Cell(xRow, 1).Range.Text = "Name"
        .Cell(xRow, 2).Range.Text = "Texts"
        .Cell(xRow, 3).Range.Text = "Page Number"
        For Each xBookMark In xDoc.Bookmarks
            xTable.Rows.Add
            xRow = xRow + 1
            .Cell(xRow, 1).Range.Text = xBookMark.Name
            .Cell(xRow, 2).Range.Text = xBookMark.Range.Text
            .Cell(xRow, 3).Range.Text = xBookMark.Range.Information(wdActiveEndAdjustedPageNumber)
            xDoc.Hyperlinks.Add Anchor:=.Cell(xRow, 3).Range, Address:=xDoc.Name, _
              SubAddress:=xBookMark.Name, TextToDisplay:=.Cell(xRow, 3).Range.Text
        Next
    End With
    xBookMarkDoc.SaveAs xDoc.Path & "\" & "Bookmarks in " & xDoc.Name
End Sub

3. apasă pe F5 tasta pentru a rula codul.

Apoi, un document nou este creat automat cu toate marcajele listării documentelor specificate în interior.

4. Puteți face clic pe Fișier > pentru a imprima lista de marcaje extrase după cum aveți nevoie.


Imprimați direct toate marcajele cu VBA

Dacă doriți să imprimați direct toate marcajele din documentul curent, procedați după cum urmează.

1. Deschideți documentul pe care îl veți imprima marcajele, apăsați pe Alt + F11 tastele pentru a deschide Microsoft Visual Basic pentru aplicații fereastră.

2. În Microsoft Visual Basic pentru aplicații fereastră, faceți clic pe Insera > Modul, apoi copiați codul de mai jos în fereastra Module.

Cod VBA: tipăriți toate marcajele dintr-un document

Sub ExtractBookmarksInADoc()
'Updated by Extendoffice 20181123
    Dim xRow As Long
    Dim xTable As Table
    Dim xDoc As Document
    Dim xBookMark As Bookmark
    Dim xBookMarkDoc As Document
    Dim xParagraph As Paragraph
    On Error Resume Next
    Set xDoc = ActiveDocument
    If xDoc.Bookmarks.Count = 0 Then
        MsgBox "There is no bookmark in this document", vbInformation, "KuTools for Word"
        Exit Sub
    End If
    Set xBookMarkDoc = Documents.Add
    xRow = 1
    Selection.TypeText "BookMarks in " & "'" & xDoc.Name & "'"
    Set xTable = Selection.Tables.Add(Selection.Range, 1, 3)
    xTable.Borders.Enable = True
    With xTable
        .Cell(xRow, 1).Range.Text = "Name"
        .Cell(xRow, 2).Range.Text = "Texts"
        .Cell(xRow, 3).Range.Text = "Page Number"
        For Each xBookMark In xDoc.Bookmarks
            xTable.Rows.Add
            xRow = xRow + 1
            .Cell(xRow, 1).Range.Text = xBookMark.Name
            .Cell(xRow, 2).Range.Text = xBookMark.Range.Text
            .Cell(xRow, 3).Range.Text = xBookMark.Range.Information(wdActiveEndAdjustedPageNumber)
            xDoc.Hyperlinks.Add Anchor:=.Cell(xRow, 3).Range, Address:=xDoc.Name, _
              SubAddress:=xBookMark.Name, TextToDisplay:=.Cell(xRow, 3).Range.Text
        Next
    End With
    xBookMarkDoc.SaveAs xDoc.Path & "\" & "Bookmarks in " & xDoc.Name
    xBookMarkDoc.PrintOut
    xBookMarkDoc.Close
    Kill xBookMarkDoc.Path
End Sub

3. apasă pe F5 tasta pentru a imprima direct marcajele.


Instrumente de productivitate Word recomandate

 

Kutools pentru Word - Mai mult de 100 de funcții avansate pentru Word, economisiți-vă 50% timp

  • Operațiile complicate și repetate pot fi efectuate o singură dată în câteva secunde.
  • Inserați mai multe imagini în foldere în documentul Word simultan.
  • Combinați și combinați mai multe fișiere Word din foldere într-unul singur cu comanda dorită.
  • Împărțiți documentul curent în documente separate în funcție de titlu, secțiune de secțiune sau alte criterii.
  • Convertiți fișiere între Doc și Docx, Docx și PDF, colecție de instrumente pentru conversii și selecție obișnuite și așa mai departe ...
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.

Be the first to comment.