Gå til hovedindhold
 

Hvordan udskrives en liste over bogmærker i Word-dokument?

Forfatter: Siluvia Sidst ændret: 2024-08-23

Har du nogensinde prøvet at udskrive en liste med bogmærker i et Word-dokument? Her viser vi dig metoder til at opnå det.

Uddrag alle bogmærker og udskriv med VBA

Udskriv alle bogmærker direkte med VBA


Uddrag alle bogmærker og udskriv med VBA

Nedenstående VBA-kode hjælper med at liste alle bogmærker fra det aktuelle dokument til et nyt, og du kan manuelt udskrive de udpakkede bogmærker efter behov. Gør som følger.

1. Åbn det dokument, du vil udskrive bogmærkerne på, og tryk på andre + F11 nøgler til at åbne Microsoft Visual Basic til applikationer vindue.

2. i Microsoft Visual Basic til applikationer vindue, skal du klikke på indsatte > Moduler, kopier derefter nedenstående kode til modulvinduet.

VBA-kode: Uddrag alle bogmærker til et nyt dokument

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. Tryk på F5 nøgle for at køre koden.

Derefter oprettes et nyt dokument automatisk med alle bogmærker til den angivne dokumentliste indeni.

Nyt dokument med alle bogmærker for specificeret dokumentliste inde

4. Du kan klikke File (Felt) > Print for at udskrive listen over udtrukne bogmærker, som du har brug for.

Kutools for Word, udstyret med AI 🤖, tilbyder over 100 praktiske funktioner til at forenkle dine opgaver.

Udskriv alle bogmærker direkte med VBA

Hvis du vil udskrive alle bogmærker direkte i det aktuelle dokument, skal du gøre som følger.

1. Åbn det dokument, du vil udskrive bogmærkerne på, og tryk på andre + F11 nøgler til at åbne Microsoft Visual Basic til applikationer vindue.

2. i Microsoft Visual Basic til applikationer vindue, skal du klikke på indsatte > Modul, kopier derefter nedenstående kode i modulvinduet.

VBA-kode: Udskriv alle bogmærker i et dokument

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. Tryk på F5 tast for at udskrive bogmærkerne direkte.

Bedste kontorproduktivitetsværktøjer

Kutools for Word - Forøg din Word-oplevelse med Over 100 Bemærkelsesværdige funktioner!

🤖 Kutools AI-funktioner: Generer indhold / Omskriv tekst / Dokument Q&A / Få hurtige svar / Oversæt dokumenter / Polsk dokument (bevar format)...

📘 Dokumentbeherskelse: Opdelt sider / Flet dokumenter / Eksporter udvalg i forskellige formater (PDF/TXT/DOC/HTML...) / Batch Konverter til PDF...

Indholdsredigering: Batch Find og Erstat på tværs af flere filer / Ændr størrelse på alle billeder / Transponer tabelrækker og kolonner / Konverter tabel til tekst...

🧹 Ubesværet rengøring: Fej væk Ekstra pladser / Afsnit bryder / Tekstbokse / Hyperlinks / For mere fjernelse af værktøjer, gå til Fjern gruppe...

Kreative indlæg: Indsæt Tusind adskillere / Afkrydsningsfelter / Radio knapper / QR kode / Stregkode / Flere billeder / Oplev mere i indsatte gruppe...

???? Præcisionsvalg: Find ud af Specifikke sider / tabeller / Former / Overskriftsparagraffer / Forbedre navigation med mere Type funktioner...

Stjerneforbedringer: Naviger til enhver placering / Auto-indsæt gentagen tekst / Skift mellem dokumentvinduer / 11 Konvertering Værktøjer...

Kutools og Kutools Plus faner på Word-båndet
???? Vil du prøve disse funktioner? Download Kutools til Word nu! 🚀
 

Bedste kontorproduktivitetsværktøjer

Kutools for Word - 100+ værktøjer til Word