PythonによるWord文書の組み込み文書プロパティの設定、読み込み、削除

Word文書の管理では、ドキュメントの属性にはタイトル、作成者、作成日など、ドキュメントに関連する重要な情報が含まれており、ドキュメント管理の重要なツールです。これらの属性は、ファイルの整理や分類、作業効率の向上に役立つだけでなく、大量のデータの中からの高速な検索やアーカイブにも便利です。そのため、これらの**ドキュメント属性情報を自動的に設定、読み取り、削除する**ことは、ドキュメント処理の効率と正確性を向上させるために非常に重要です。Pythonは、Wordドキュメントの属性を効率的に管理するための便利な手段を提供しています。この記事では、Pythonコードを使用して**Wordドキュメントのプロパティ情報を柔軟に操作する方法**を紹介します。

- **[Pythonを使用してWordドキュメントの組み込み属性を設定する方法](#pythonを使用してwordドキュメントの組み込み属性を設定する方法)**
- **[Pythonを使用してWordドキュメントの組み込み属性を読み取る方法](#pythonを使用してwordドキュメントの組み込み属性を読み取る方法)**
- **[Pythonを使用してWordドキュメントの組み込み属性を削除する方法](#pythonを使用してwordドキュメントの組み込み属性を削除する方法)**

この記事で使用される方法には、[Spire.Doc for Python](https://www.e-iceblue.com/Download/Spire-Doc-Python.html)が必要です。PyPIでのインストールコマンド：`pip install Spire.Doc`。

## Pythonを使用してWordドキュメントの組み込み属性を設定する方法
ライブラリが提供する `Document.BuilinDocumentProperties` プロパティを使用して、ドキュメントの組み込みドキュメント属性にアクセスし、`BuilinDocumentProperties` の各プロパティを使用してドキュメントの属性を設定することができます。以下は操作手順です：
1. 必要なモジュールをインポートします。
2. `Document`クラスのインスタンスを作成し、`Document.LoadFromFile()`メソッドを使用してWordドキュメントをロードします。
3. `Document.BuilinDocumentProperties`プロパティを使用して、ドキュメントの組み込みドキュメント属性を取得します。
4. `BuilinDocumentProperties`の各プロパティを使用して、ドキュメントの組み込み属性情報を設定します。
5. `Document.SaveToFile()`メソッドを使用してWordドキュメントを保存します。
6. リソースを解放します。

**コード例**
```python
from spire.doc import *
from spire.doc.common import *

# Documentのオブジェクトを作成します
doc = Document()

# Wordドキュメントを読み込みます
doc.LoadFromFile("Sample.docx")

# 組み込みプロパティを設定します
builtinProperty = doc.BuiltinDocumentProperties
builtinProperty.Title = "人工知能の革命"
builtinProperty.Subject = "人工知能におけるニューラルネットワークの高度な応用と将来展望"
builtinProperty.Author = "Simon"
builtinProperty.Manager = "Arie"
builtinProperty.Company = "AI研究所"
builtinProperty.Category = "研究"
builtinProperty.Keywords = "機械学習、ニューラルネットワーク、人工知能"
builtinProperty.Comments = "この論文は人工知能の最先端についてのものです。"
builtinProperty.HyperLinkBase = "ai.com"

# ドキュメントを保存します
doc.SaveToFile("output/文書プロパティの設定.docx", FileFormat.Docx2019)
doc.Close()
```

**結果**
![Pythonを使用してWordドキュメントの組み込み属性を設定する方法](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/278784/dfc10f67-f661-8d5b-072b-ae645c9a0bcf.png)

## Pythonを使用してWordドキュメントの組み込み属性を読み取る方法
プロパティの値を追加するだけでなく、BuiltinDocumentPropertiesクラスのプロパティを使用すると、開発者は既存のWordドキュメントの組み込み属性を読み取ることもできます。これにより、ドキュメントの検索、情報の抽出、ドキュメントの分析など、さまざまな機能がサポートされます。
Wordドキュメントの組み込み属性を読み取るための具体的な手順は以下の通りです：
1. 必要なモジュールをインポートします。
2. `Document`クラスのオブジェクトを作成し、`Document.LoadFromFile()`メソッドを使用してWordドキュメントをロードします。
3. `Document.BuiltinDocumentProperties`プロパティを使用して、ドキュメントの組み込み属性を取得します。
4. `BuiltinDocumentProperties`クラスの各プロパティを使用して値を取得します。
5. ドキュメントの組み込み属性情報を出力します。
6. リソースを解放します。

**コード例**
```python
from spire.doc import *
from spire.doc.common import *

# ドキュメントオブジェクトを作成
doc = Document()

# Word ドキュメントを読み込む
doc.LoadFromFile("output/文書プロパティの設定.docx")

# ドキュメントの組み込みプロパティを取得
builtinProperties = doc.BuiltinDocumentProperties

# 組み込みプロパティの値を取得
properties = [
    "作成者: " + builtinProperties.Author,
    "会社: " + builtinProperties.Company,
    "タイトル: " + builtinProperties.Title,
    "件名: " + builtinProperties.Subject,
    "キーワード: " + builtinProperties.Keywords,
    "カテゴリ: " + builtinProperties.Category,
    "管理者: " + builtinProperties.Manager,
    "コメント: " + builtinProperties.Comments,
    "ハイパーリンクの基底: " + builtinProperties.HyperLinkBase,
    "単語数: " + str(builtinProperties.WordCount),
    "ページ数: " + str(builtinProperties.PageCount),
]

# 組み込みプロパティを出力
for i in range(0, len(properties)):
    print(properties[i])

doc.Close()
```

**結果**
![Pythonを使用してWordドキュメントの組み込み属性を読み取る方法](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/278784/346c8365-8d6b-4c64-047d-5691dfed0600.png)

## Pythonを使用してWordドキュメントの組み込み属性を削除する方法
ドキュメントを共有する際にプライバシーを保護し、機密情報を削除する必要がある場合、ドキュメント属性を空の値に設定して削除することができます。以下は操作手順です：
1. 必要なモジュールをインポートします。
2. `Document`クラスのインスタンスを作成し、`Document.LoadFromFile()`メソッドを使用してWordドキュメントをロードします。
3. `Document.BuiltinDocumentProperties`プロパティを使用して、ドキュメントの組み込み属性を取得します。
4. 特定の属性の値をNoneに設定してこれらの属性を削除します。`BuiltinDocumentProperties`クラスの対応するプロパティを使用します。
5. `Document.SaveToFile()`メソッドを使用してドキュメントを保存します。
6. リソースを解放します。

**コード例**
```python
from spire.doc import *
from spire.doc.common import *

# ドキュメントオブジェクトを作成
doc = Document()

# Word ドキュメントを読み込む
doc.LoadFromFile("output/文書プロパティの設定.docx")

# ドキュメントの組み込みプロパティを取得
builtinProperties = doc.BuiltinDocumentProperties

# 組み込みプロパティを削除（None に設定）
builtinProperties.Author = None
builtinProperties.Company = None
builtinProperties.Title = None
builtinProperties.Subject = None
builtinProperties.Keywords = None
builtinProperties.Comments = None
builtinProperties.Category = None
builtinProperties.Manager = None

# ドキュメントを保存
doc.SaveToFile("output/文書プロパティの削除.docx", FileFormat.Docx)
doc.Close()
```

この記事では、Pythonを使用してドキュメントの組み込みドキュメント属性を設定、読み取り、削除する方法を示しました。

その他のWordドキュメント操作のヒントについては、[Spire.Doc for Pythonのチュートリアル](https://www.e-iceblue.com/Tutorials/Python/Spire.Doc-for-Python/Program-Guide/Spire.Doc-for-Python-Program-Guide-Content.html)を参照してください。

[無料ライセンスの申請](https://www.e-iceblue.com/TemLicense.html)