Skip to main content

Kutools per Office — Una Suite. Cinque Strumenti. Ottieni di Più.

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

Author Siluvia Last modified

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 for Word - Eleva la tua esperienza su Word con oltre 100 funzioni straordinarie!

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

📘 Maestria del Documento: Dividi Pagine / Unisci Documenti / Esporta Intervallo in vari formati (PDF/TXT/DOC/HTML...) / Conversione in batch in PDF...

Modifica del Testo: Trova e Sostituisci in batch su più file / Ridimensiona tutte le Immagini / Trasponi Righe e Colonne della Tabella / Converti Tabella in Testo...

🧹 Pulizia senza sforzo: Elimina Spazi Extra / Interruzioni di Sezione / Casella di testo / Collegamenti ipertestuali / Per altri strumenti di rimozione, visita il gruppo Rimuovi...

Inserimenti Creativi: Inserisci Separatore delle Migliaia / Casella di Controllo / Pulsante di Opzione / Codice QR / Codice a Barre / Immagini multiple / Scopri di più nel gruppo Inserisci...

🔍 Selezioni Accurate: Individua Pagine Specifiche / Tabelle / Forma / Paragrafo di Intestazione / Migliora la navigazione con altre funzioni di Seleziona...

Miglioramenti Speciali: Vai a qualsiasi Intervallo / Inserimento automatico di testo ripetitivo / Passa tra Finestre dei Documenti /11 strumenti di Conversione...

🌍 Supporta oltre40 lingue: Usa Kutools nella lingua che preferisci – Inglese, Spagnolo, Tedesco, Francese, Cinese, e più di altre40 lingue!

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

✨ Kutools for Office – Una sola installazione, cinque strumenti potenti!

Include Office Tab Pro · Kutools per Excel · Kutools per Outlook · Kutools for Word · Kutools for PowerPoint

📦 Ottieni tutti e5 gli strumenti in un'unica suite | 🔗 Integrazione perfetta con Microsoft Office | ⚡ Risparmia tempo e aumenta subito la produttività

I migliori strumenti per la produttività in ufficio

Kutools for Word - 100+ strumenti per Word