Gå til hovedindhold

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

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.

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


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!

Dyk ned i de fremhævede funktioner nedenfor eller klik her for at udforske den fulde kraft af Kutools for Word.

📘 Dokumentbeherskelse: Opdelt sider  /  Flet dokumenter  /  Eksporter udvalg i forskellige formater (PDF/TXT/DOC/XLSX)  /  Batch Konverter til PDF  /  Eksporter sider som billeder  /  Udskriv flere filer på én gang ...

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øringFej væk Ekstra pladser  /  Afsnit bryder  /   Alle overskrifter  /  Tekstbokse  /  Hyperlinks  /  For flere fjernelsesværktøjer, gå til vores Fjerngruppe

Kreative indlæg: indsatte Tusind adskillere  /  Afkrydsningsfelter  /  Radio knapper  /  QR kode  /  Stregkode  /  Diagonal linjebord  /  Ligningstekst  /  Billede Caption  /  Tabeltekst  /  Flere billeder  /  Opdag mere i vores Indsæt-gruppe

???? Præcisionsvalg: Find bestemte sider  /  tabeller  /  former  /  overskrifter  /  Naviger nemt ved hjælp af vores udvalgte gruppe

Stjerneforbedringer: Naviger hurtigt til ethvert sted  /  automatisk indsæt gentagende tekst  /  skifte problemfrit mellem dokumentvinduer  /  11 Konverteringsværktøjer ...

Transformer dine Word-opgaver med Kutools. 👉 Download med 30-dages prøveversion nu 🚀.

Læs mere       Gratis download      Køb
 
Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations