Wordのブックマーク機能は、文書内の特定の場所を素早く見つけることができる非常に便利なツールです。文書の確認や編集、特定の情報の検索など、しおりは非常に便利です。
以下では、Pythonを使ってWord文書にしおりを追加したり削除したりする方法を紹介します、 ユーザが文書をより効率的に管理できるようにします。
Word文書処理用Pythonライブラリ
この記事で使用しているメソッドは、Spire.Doc for Pythonライブラリを必要とします。pipで直接インストールできます:
pip install Spire.Doc
Pythonで指定した段落にしおりを挿入する
- Word文書を読み込む;
- 指定した段落を取得する;
-
BookmarkStart
オブジェクトを作成し、Paragraph.Items.Insert()
メソッドで段落の先頭に挿入する; -
Paragraph.AppendBookmarkEnd()
メソッドでBookmarkEnd
オブジェクトを段落の最後に追加する; - ドキュメントを保存します。
Pythonコード:
from spire.doc import *
from spire.doc.common import *
# Word文書を読み込む
doc = Document()
doc.LoadFromFile("蝶.docx")
# 第2パラグラフを読む
paragraph = doc.Sections[0].Paragraphs[1]
# 段落にブックマークを追加する
start = paragraph.AppendBookmarkStart("蝶の誕生")
paragraph.Items.Insert(0, start)
paragraph.AppendBookmarkEnd("蝶の誕生")
# ファイルを保存する
doc.SaveToFile("AddBookmark.docx", FileFormat.Docx2019)
doc.Close()
Pythonで指定したテキストにしおりを挿入する
- Word文書を読み込む;
- 文書内の指定されたテキストを検索し、それが段落内のどこにあるかのインデックスを取得します;
-
BookmarkStart
オブジェクトを作成し、Paragraph.ChildObjects.Insert()
メソッドで指定したテキストの前に挿入します; -
BookmarkEnd
オブジェクトを作成し、Paragraph.ChildObjects.Insert()
メソッドで指定したテキストの後に挿入します; - ドキュメントを保存します。
Pythonコード:
from spire.doc import *
from spire.doc.common import *
# Word文書を読み込む
doc = Document()
doc.LoadFromFile("蝶.docx")
# 文書内の指定テキストを検索する
finds = doc.FindAllString("成虫", False, True)
specificText = finds[0]
# テキストがある段落を取得する
paragraph = specificText.GetAsOneRange().OwnerParagraph
# 段落内のテキストのインデックスを取得する
index = paragraph.ChildObjects.IndexOf(specificText.GetAsOneRange())
# 指定したテキストにしおりを挿入する
start = paragraph.AppendBookmarkStart("成長")
paragraph.ChildObjects.Insert(index, start)
end = paragraph.AppendBookmarkEnd("成長")
paragraph.ChildObjects.Insert(index + 2, end)
# ファイルを保存する
doc.SaveToFile("AddBookmarkToText.docx", FileFormat.Docx2019)
doc.Close()
PythonでWordからしおりを削除
- Word文書を読み込む;
-
Document.Bookmarks[]
プロパティで特定のブックマークを取得する; -
Document.Bookmarks.Remove()
メソッドで指定したブックマークを削除する(すべてのブックマークを削除するにはClear()
メソッドを使用します); - 文書を保存する。
Pythonコード:
from spire.doc import *
from spire.doc.common import *
# Word文書を読み込む
document = Document()
document.LoadFromFile("AddBookmark.docx")
# 指定したブックマークを取得する
bookmark = document.Bookmarks[0]
# 指定したブックマークを削除する
document.Bookmarks.Remove(bookmark)
# すべてのブックマークを削除する
# document.Bookmarks.Clear()
# ファイルを保存する
document.SaveToFile("DeleteBookmark.docx", FileFormat.Docx)
document.Close()
赤い評価の警告を消す方法: