Petua: Bahasa lain diterjemahkan Google. Anda boleh melawat English versi pautan ini.
Log masuk
x
or
x
x
Daftar Sekarang
x

or

Bagaimana untuk mencetak senarai penanda halaman dalam dokumen Word?

Pernahkah anda cuba mencetak senarai penanda buku dalam dokumen Word? Di sini kita akan menunjukkan kaedah untuk mencapainya.

Ekstrak semua penanda buku dan cetak dengan VBA

Terus cetak semua penanda buku dengan VBA


Ekstrak semua penanda buku dan cetak dengan VBA

Kod di bawah VBA akan membantu menyenaraikan semua penanda halaman dari dokumen semasa kepada yang baru, dan anda boleh mencetak penanda yang diekstrak secara manual seperti yang anda perlukan. Sila buat seperti berikut.

1. Buka dokumen yang akan anda cetak penanda buku, tekan Alt + F11 kunci untuk membuka Microsoft Visual Basic untuk Aplikasi tingkap.

2. Di dalam Microsoft Visual Basic untuk Aplikasi tetingkap, klik Memasukkan > Modul, kemudian salin di bawah kod ke tetingkap Modul.

Kod VBA: Ekstrak semua penanda halaman kepada dokumen baru

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. Tekan butang F5 kunci untuk menjalankan kod.

Kemudian dokumen baru dicipta secara automatik dengan semua penanda halaman penyenaraian dokumen tertentu di dalamnya.

4. Anda boleh klik File > Cetak untuk mencetak senarai penanda yang diekstrak sebagaimana yang anda perlukan.


Terus cetak semua penanda buku dengan VBA

Jika anda mahu mencetak semua penanda halaman secara langsung dalam dokumen semasa, sila lakukan seperti berikut.

1. Buka dokumen yang akan anda cetak penanda buku, tekan Alt + F11 kunci untuk membuka Microsoft Visual Basic untuk Aplikasi tingkap.

2. Di dalam Microsoft Visual Basic untuk Aplikasi tetingkap, klik Memasukkan > Modul, kemudian salin di bawah kod ke tetingkap Modul.

Kod VBA: Cetak semua penanda halaman dalam dokumen

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. Tekan butang F5 kunci untuk mencetak penanda halaman secara langsung.

Alat produktiviti Word yang disyorkan

shot kutools perkataan kutools tab 1180x121
shot kutools perkataan kutools plus tab 1180x120

Kutools For Word - Lebih Daripada Ciri-ciri Lanjutan 100 Untuk Microsoft Word, Simpan 50% Time anda

  • Operasi yang rumit dan berulang boleh dilakukan pemprosesan satu kali dalam beberapa saat.
  • Sisipkan beberapa imej merentas folder ke dalam dokumen Word sekaligus.
  • Gabungkan dan menggabungkan beberapa fail Word merentas folder ke dalam satu dengan pesanan yang anda inginkan.
  • Pisah dokumen semasa ke dalam dokumen berasingan mengikut tajuk 1, pecahan bahagian atau kriteria lain.
  • Tukar fail antara Doc dan Docx, Docx dan PDF, koleksi alat untuk penukaran dan pilihan biasa, dan sebagainya...
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.