Skip to main content

Come stampare l'elenco dei segnalibri in un documento Word?

Author: Siluvia Last Modified: 2025-08-06

Hai mai provato a stampare un elenco di segnalibri in un documento Word? Qui ti mostreremo i metodi per farlo.

Estrai tutti i segnalibri e stampa con VBA

Stampa direttamente tutti i segnalibri con VBA


Estrai tutti i segnalibri e stampa con VBA

Il seguente codice VBA aiuterà a elencare tutti i segnalibri dal documento corrente a uno nuovo, e potrai stampare manualmente i segnalibri estratti secondo necessità. Procedi come segue.

1. Apri il documento in cui vuoi stampare i segnalibri, premi i tasti Alt + F11 per aprire la finestra Microsoft Visual Basic for Applications.

2. Nella finestra Microsoft Visual Basic for Applications, clicca su Inserisci > Modulo, quindi copia il codice sottostante nella finestra Modulo.

Codice VBA: Estrai tutti i segnalibri in un nuovo documento

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. Premi il tasto F5 per eseguire il codice.

Verrà creato automaticamente un nuovo documento con tutti i segnalibri del documento specificato elencati all'interno.

New document with all bookmarks of specified document listing inside

4. Puoi cliccare su File > Stampa per stampare l'elenco dei segnalibri estratti secondo necessità.

Kutools per Word,dotato di intelligenza artificiale 🤖, offre oltre 100 funzionalità pratiche per semplificare i tuoi compiti.

Stampa direttamente tutti i segnalibri con VBA

Se desideri stampare direttamente tutti i segnalibri nel documento corrente, procedi come segue.

1. Apri il documento in cui vuoi stampare i segnalibri, premi i tasti Alt + F11 per aprire la finestra Microsoft Visual Basic for Applications.

2. Nella finestra Microsoft Visual Basic for Applications, clicca su Inserisci > Modulo, quindi copia il codice sottostante nella finestra Modulo.

Codice VBA: Stampa tutti i segnalibri in un documento

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. Premi il tasto F5 per stampare direttamente i segnalibri.

I migliori strumenti per la produttività in ufficio

Kutools per Word - Migliora la tua esperienza con Word grazie a oltre 100 straordinarie funzionalità!

🤖 Funzionalità AI di Kutools: Assistente AI / Assistente in Tempo Reale / Super Lucida (Mantieni Formato) / Super Traduci (Mantieni Formato) / Redazione AI / Correzione AI...

📘 Maestria sui Documenti: Dividi Pagine / Unisci Documenti / Esporta selezione in vari formati (PDF/TXT/DOC/HTML...) / Converti in batch in PDF...

Modifica dei Contenuti: Trova e sostituisci in batch su più file / Ridimensiona tutte le immagini / Trasponi righe e colonne delle tabelle / Converti Tabella in Testo...

🧹 Pulizia senza sforzo: Elimina Spazi Extra / Interruzioni di Sezione / Caselle di testo / Collegamenti ipertestuali / Per altri strumenti di rimozione, vai al gruppo Rimuovi...

Inserimenti Creativi: Inserisci separatori delle migliaia / Caselle di Controllo / Pulsanti di Opzione / Codice QR / Codice a Barre / Immagini multiple / Scopri di più nel gruppo Inserisci...

🔍 Selezioni precise: Individua pagine specifiche / Tabelle / Forme / Paragrafi di intestazione / Migliora la navigazione con ancora più funzionalità di Selezione...

Funzionalità Star: Vai in qualsiasi posizione / Inserimento automatico di testo ripetitivo / Passaggio tra finestre documento /11 strumenti di conversione...

🌍 Supporta oltre40 lingue: Usa Kutools nella tua lingua preferita – disponibile in Inglese, Spagnolo, Tedesco, Francese, Cinese e oltre40 altre!

Kutools and Kutools Plus tabs on the Word Ribbon
👉 Vuoi provare queste funzionalità? Scarica subito Kutools per Word! 🚀
 

I migliori strumenti per la produttività in ufficio

Kutools per Word - 100+ Strumenti per Word