チュートリアル

簡単にライブラリーを使用するためのチュートリアルコレクション

チュートリアル»Python»Spire.Doc for Python»保護»Python:Word 文書の編集制限を設定・解除する方法
2025-02-27

Python:Word 文書の編集制限を設定・解除する方法

Word 文書の編集制限機能は、ユーザーが編集可能な範囲や編集内容を制御・制限できる機能です。この機能は、機密性の高い文書や重要な文書を不正または不適切な変更から保護するためによく使用されます。編集制限を適用することで、文書の所有者は、どの種類の変更が可能か、文書のどの部分を編集できるかを指定でき、文書の保護や共同作業、情報収集の効率化などに役立ちます。

本記事では、Spire.Doc for Python を使用して Word 文書の編集制限を設定および解除する方法を紹介します。

Spire.Doc for Python のインストール

この操作には、Spire.Doc for Python と plum-dispatch v1.7.4 が必要です。これらは、Spire.Doc for Python の公式ウェブサイトから手動でダウンロードするか、以下の pip コマンドでインストールできます。

pip install Spire.Doc

パスワードで Word 文書全体の編集を制限

Word 文書の編集制限には以下の 4 種類があります。

  • 変更不可(読み取り専用)
  • 変更履歴の記録のみ許可
  • コメントの追加のみ許可
  • フォームの入力のみ許可

Spire.Doc for Python では、Document.Protect() メソッドを使用して編集制限を設定でき、ProtectionType 列挙型で制限の種類を指定できます。

以下に ProtectionType 列挙型と対応する編集制限を示します。

Enum 編集制限 説明
ProtectionType.AllowOnlyReading 変更不可 (読み取り専用) 読み取りのみ許可
ProtectionType.AllowOnlyRevisions 変更履歴の記録のみ許可 変更履歴の記録のみ許可
ProtectionType.AllowOnlyComments コメントの追加のみ許可 コメントのみ許可
ProtectionType.AllowOnlyFormFields フォームの入力のみ許可 フォームの入力のみ許可
ProtectionType.NoProtection 制限なし 制限なし

Word 文書にパスワード付きの編集制限を設定する手順は以下のとおりです。

  • Document クラスのオブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して Word 文書を読み込みます。
  • Document.Protect(type:ProtectionType, password:str) メソッドを使用して、指定した編集制限を適用します。
  • Document.SaveToFile() メソッドを使用して文書を保存します。
  • Python
from spire.doc import Document, ProtectionType

# Documentクラスのオブジェクトを作成
doc = Document()

# Word文書を読み込む
doc.LoadFromFile("Sample.docx")

# 編集制限タイプを「変更不可(読み取り専用)」に設定
doc.Protect(ProtectionType.AllowOnlyReading, "password")

# 編集制限タイプを「変更履歴」に設定
# doc.Protect(ProtectionType.AllowOnlyRevisions, "password")

# 編集制限タイプを「コメント」に設定
# doc.Protect(ProtectionType.AllowOnlyComments, "password")

# 編集制限タイプを「フォーム入力」に設定
# doc.Protect(ProtectionType.AllowOnlyFormFields, "password")

# 文書を保存
doc.SaveToFile("output/編集の制限.docx")
doc.Close()

PythonでWord文書全体に編集制限を設定

Word 文書の編集制限に例外を設定

Word 文書に編集制限を設定する際、一部の範囲を例外として許可することができます。そのためには、許可範囲の開始タグと終了タグを挿入します。

手順は以下のとおりです。

  • Document クラスのオブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して Word 文書を読み込みます。
  • Document.Sections.get_Item() メソッドを使用して最初のセクションを取得します。
  • PermissionStart クラスのオブジェクトと PermissionEnd クラスのオブジェクトを作成します。
  • Paragraph.ChildObjects.Insert() メソッドと Paragraph.ChildObjects.Add() メソッドを使用して、開始タグと終了タグを文書に挿入します。
  • Document.Protect() メソッドを使用して編集制限を適用します。
  • Document.SaveToFile() メソッドを使用して文書を保存します。
  • Python
from spire.doc import Document, PermissionStart, PermissionEnd, ProtectionType

# Documentクラスのオブジェクトを作成
doc = Document()

# Word文書を読み込む
doc.LoadFromFile("Sample.docx")

# 最初のセクションを取得
section = doc.Sections.get_Item(0)

# 権限開始タグと終了タグを作成
start = PermissionStart(doc, "exception1")
end = PermissionEnd(doc, "exception1")

# 権限開始タグと終了タグを最初のセクションに挿入
paragraph = section.Paragraphs.get_Item(1)
paragraph.ChildObjects.Insert(0, start)
paragraph.ChildObjects.Add(end)

# 編集制限を設定
doc.Protect(ProtectionType.AllowOnlyReading, "password")

# 文書を保存
doc.SaveToFile("output/例外による編集の制限.docx")
doc.Close()

PythonでWord文書に追加された例外領域を含む編集制限

Word 文書の編集制限を解除

文書の編集制限を解除するには、Document.Protect() メソッドを使用し、編集制限の種類を「制限なし」に設定するだけです。

手順は以下のとおりです。

  • Document クラスのオブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して Word 文書を読み込みます。
  • Document.Protect() メソッドを使用し、制限の種類を None に設定します。
  • Document.SaveToFile() メソッドを使用して文書を保存します。
  • Python
from spire.doc import Document, ProtectionType

# Documentクラスのオブジェクトを作成
doc = Document()

# Word文書を読み込む
doc.LoadFromFile("output/編集の制限.docx")

# 編集制限を削除するために制限タイプを「保護なし」に設定
doc.Protect(ProtectionType.NoProtection)

# 文書を保存
doc.SaveToFile("output/編集制限の解除.docx")
doc.Close()

PythonでWord文書の編集制限を解除する

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Read 30 times