Word文書でブックマークのリストを印刷する方法は?
Word文書にブックマークのリストを印刷しようとしたことがありますか? ここでは、それを実現する方法を紹介します。
すべてのブックマークを抽出し、VBAで印刷します
以下のVBAコードは、現在のドキュメントから新しいドキュメントまでのすべてのブックマークを一覧表示するのに役立ちます。必要に応じて、抽出したブックマークを手動で印刷できます。 次のようにしてください。
1.ブックマークを印刷するドキュメントを開き、を押します。 他の + F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。
2。 の中に アプリケーション向け Microsoft Visual Basic ウィンドウ、クリック インセット > モジュール、次に以下のコードをモジュールウィンドウにコピーします。
VBAコード:すべてのブックマークを新しいドキュメントに抽出します
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。 プレス F5 コードを実行するためのキー。
次に、指定したドキュメントリストのすべてのブックマークを含む新しいドキュメントが自動的に作成されます。
4。 クリックすることができます フィレット > 印刷物 必要に応じて、抽出されたブックマークのリストを印刷します。
VBAですべてのブックマークを直接印刷する
現在のドキュメントのすべてのブックマークを直接印刷する場合は、次のようにしてください。
1.ブックマークを印刷するドキュメントを開き、を押します。 他の + F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。
2。 の中に アプリケーション向け Microsoft Visual Basic ウィンドウ、クリック インセット > モジュール、 次に、以下のコードをモジュールウィンドウにコピーします。
VBAコード:ドキュメント内のすべてのブックマークを印刷します
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。 プレス F5 ブックマークを直接印刷するためのキー。
推奨される単語生産性ツール
Kutools For Word-100を超えるWordの高度な機能で50%の時間を節約
- 複雑で繰り返される操作は、数秒でXNUMX回の処理で実行できます。
- 複数の画像をフォルダ間でWord文書に一度に挿入します。
- フォルダ間で複数のWordファイルをマージして、希望の順序でXNUMXつに結合します。
- 見出し、セクション区切り、またはその他の基準に従って、現在のドキュメントを個別のドキュメントに分割します。
- DocとDocx、DocxとPDFの間でファイルを変換し、一般的な変換と選択のためのツールのコレクションなど...