Astuce: Les autres langues sont Google-Traduction. Vous pouvez visiter le English version de ce lien.
Se connecter
x
or
x
x
S'enregistrer
x

or

Comment imprimer la liste des signets dans un document Word?

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

Extrayez tous les signets et imprimez avec VBA

Imprimez directement tous les signets avec VBA


Extrayez tous les signets et imprimez avec VBA

Le code VBA ci-dessous aidera à répertorier tous les signets du document actuel vers un nouveau et vous pouvez imprimer manuellement les signets extraits en fonction de vos besoins. Veuillez faire comme suit.

1. Ouvrez le document sur lequel vous souhaitez imprimer les signets, appuyez sur la touche autre + F11 clés pour ouvrir le Microsoft Visual Basic pour applications fenêtre.

2. dans le Microsoft Visual Basic pour applications fenêtre, cliquez sur insérer > Module, puis copiez le code ci-dessous dans la fenêtre du module.

Code VBA: extraire tous les signets dans 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. appuie sur le F5 clé pour exécuter le code.

Ensuite, un nouveau document est créé automatiquement avec tous les signets de la liste de documents spécifiée.

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


Imprimez directement tous les signets avec VBA

Si vous souhaitez imprimer directement tous les signets du document actuel, procédez comme suit.

1. Ouvrez le document sur lequel vous souhaitez imprimer les signets, appuyez sur la touche autre + F11 clés pour ouvrir le Microsoft Visual Basic pour applications fenêtre.

2. dans le Microsoft Visual Basic pour applications fenêtre, cliquez sur insérer > Module, puis copiez le code ci-dessous dans la fenêtre du module.

Code VBA: imprimer tous les signets d'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. appuie sur le F5 touche pour imprimer les signets directement.



Outils de productivité Word recommandés

Kutools For Word - Plus de fonctionnalités avancées 100 pour Word, économisez votre% de temps 50

  • Des opérations compliquées et répétées peuvent être effectuées en une seconde.
  • Insérez plusieurs images sur des dossiers dans un document Word à la fois.
  • Fusionner et combiner plusieurs fichiers Word sur plusieurs dossiers en un seul avec votre ordre souhaité.
  • Divisez le document actuel en documents distincts en fonction de l'en-tête, du saut de section ou d'un autre critère.
  • Convertir des fichiers entre Doc et Docx, Docx et PDF, une collection d'outils pour les conversions et la sélection courantes, etc.
Say something here...
symbols left.
You are guest ( Sign Up? )
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.