0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PythonでWordのブックマークを追加・削除する

Last updated at Posted at 2024-12-17

Wordのブックマーク機能は、文書内の特定の場所を素早く見つけることができる非常に便利なツールです。文書の確認や編集、特定の情報の検索など、しおりは非常に便利です。
以下では、Pythonを使ってWord文書にしおりを追加したり削除したりする方法を紹介します、 ユーザが文書をより効率的に管理できるようにします。

Word文書処理用Pythonライブラリ

この記事で使用しているメソッドは、Spire.Doc for Pythonライブラリを必要とします。pipで直接インストールできます:

pip install Spire.Doc

Pythonで指定した段落にしおりを挿入する

  1. Word文書を読み込む;
  2. 指定した段落を取得する;
  3. BookmarkStart オブジェクトを作成し、Paragraph.Items.Insert() メソッドで段落の先頭に挿入する;
  4. Paragraph.AppendBookmarkEnd() メソッドで BookmarkEnd オブジェクトを段落の最後に追加する;
  5. ドキュメントを保存します。

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()

AddWordBookmark.png

Pythonで指定したテキストにしおりを挿入する

  1. Word文書を読み込む;
  2. 文書内の指定されたテキストを検索し、それが段落内のどこにあるかのインデックスを取得します;
  3. BookmarkStart オブジェクトを作成し、Paragraph.ChildObjects.Insert() メソッドで指定したテキストの前に挿入します;
  4. BookmarkEnd オブジェクトを作成し、Paragraph.ChildObjects.Insert() メソッドで指定したテキストの後に挿入します;
  5. ドキュメントを保存します。

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()

AddBookmarkToText.png

PythonでWordからしおりを削除

  1. Word文書を読み込む;
  2. Document.Bookmarks[] プロパティで特定のブックマークを取得する;
  3. Document.Bookmarks.Remove() メソッドで指定したブックマークを削除する(すべてのブックマークを削除するには Clear() メソッドを使用します);
  4. 文書を保存する。

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()

赤い評価の警告を消す方法:

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?