Accéder au contenu principal

Kutools for Office — Une Suite. Cinq Outils. Accomplissez Plus.

Comment imprimer la liste des signets dans un document Word ?

Author Siluvia Last modified

Avez-vous déjà essayé d'imprimer une liste de signets dans un document Word ? Nous allons vous montrer des méthodes pour y parvenir.

Extraire tous les signets et imprimer avec VBA

Imprimer directement tous les signets avec VBA


Extraire tous les signets et imprimer avec VBA

Le code VBA ci-dessous vous aidera à lister tous les signets du document actuel dans un nouveau document, et vous pourrez imprimer manuellement les signets extraits selon vos besoins. Veuillez procéder comme suit.

1. Ouvrez le document dont vous souhaitez imprimer les signets, puis appuyez sur les touches Alt + F11 pour ouvrir la fenêtre Microsoft Visual Basic for Applications.

2. Dans la fenêtre Microsoft Visual Basic for Applications, cliquez sur Insérer > Module, puis copiez le code ci-dessous dans la fenêtre Module.

Code VBA : Extraire tous les signets vers un nouveau 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
    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. Appuyez sur la touche F5 pour exécuter le code.

Ensuite, un nouveau document est automatiquement créé avec tous les signets du document spécifié listés à l'intérieur.

New document with all bookmarks of specified document listing inside

4. Vous pouvez cliquer sur Fichier > Imprimer pour imprimer la liste des signets extraits selon vos besoins.

Kutools for Word,doté d'IA 🤖, offre plus de 100 fonctionnalités pratiques pour simplifier vos tâches.

Imprimer directement tous les signets avec VBA

Si vous souhaitez imprimer directement tous les signets dans le document actuel, veuillez procéder comme suit.

1. Ouvrez le document dont vous souhaitez imprimer les signets, puis appuyez sur les touches Alt + F11 pour ouvrir la fenêtre Microsoft Visual Basic for Applications.

2. Dans la fenêtre Microsoft Visual Basic for Applications, cliquez sur Insérer > Module, puis copiez le code ci-dessous dans la fenêtre Module.

Code VBA : Imprimer tous les signets dans 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. Appuyez sur la touche F5 pour imprimer directement les signets.

Meilleurs outils de productivité pour Office

Kutools pour Word – Optimisez votre expérience Word avec plus de 100 fonctionnalités remarquables !

🤖 Fonctionnalités de Kutools IA : Assistant IA / Assistant en Temps Réel / Super Polish (préserver le format) / Super Traduire (préserver le format) / Rédaction IA / Correction AI...

📘 Maîtrise des documents : Diviser les pages / Fusionner les documents / Exporter une solution dans différents formats (PDF/TXT/DOC/HTML...) / Conversion en lot vers PDF...

Modification du texte : Recherche et remplacement en lot sur plusieurs fichiers / Redimensionner toutes les images / Transposer le tableau lignes et Colonnes / Convertir le tableau en texte...

🧹 Nettoyage sans effort : Éliminez les espaces supplémentaires / Sauts de section / Zone de texte / Liens hypertexte / Pour plus d’outils de suppression, rendez-vous dans le groupe Supprimer...

Insertion créative : Insérer des séparateurs de milliers / Case à cocher / Bouton radio / Code QR / Code-barres / Plusieurs images / Découvrez davantage dans le groupe Insérer...

🔍 Sélection précise : Ciblez des pages spécifiques / Tableaux / Forme / Paragraphe de titre / Améliorez la navigation avec plus de fonctions de Sélectionner...

Optimisations exclusives : Accéder à n’importe quelle plage / Insérer automatiquement du texte répétitif / Basculer entre les fenêtres du document /11 outils de conversion...

🌍 Prend en charge plus de40 langues : Utilisez Kutools dans la langue de votre choix – Prise en charge de l’Anglais, de l’Espagnol, de l’Allemand, du Français, du Chinois et de bien d’autres encore !

Kutools and Kutools Plus tabs on the Word Ribbon
👉 Envie d’essayer ces fonctionnalités ? Téléchargez Kutools pour Word dès maintenant ! 🚀
 

✨ Kutools pour Office – Une installation, cinq outils puissants !

Inclus Office Tab Pro · Kutools pour Excel · Kutools pour Outlook · Kutools pour Word · Kutools pour PowerPoint

📦 Obtenez les5 outils dans une seule suite | 🔗 Intégration transparente avec Microsoft Office | ⚡ Gagnez du temps et augmentez votre productivité instantanément

Meilleurs outils de productivité pour Office

Kutools pour Word – 100+ outils pour Word