0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Excelファイルの「作成者」「最終更新者」などの個人情報を一括で削除するPythonスクリプト

Last updated at Posted at 2025-04-06

📝 はじめに

業務で共有するExcelファイルに含まれる 作成者名最終更新者名 などの個人情報を削除したいことがたまにないでしょうか。
特に、社外に提出するファイルや共有サーバーに置くファイルでは、こういった メタデータの消し忘れ が思わぬ情報漏えいにつながることも。

そこで、Pythonを使って、ディレクトリ内のExcelファイル(.xlsx)を一括処理し、メタデータを削除・上書きするスクリプトを作成しました。


🔧 使用ライブラリ

  • openpyxl:Excelファイルの読み書きに使用
pip install openpyxl

💡 スクリプト全体

import openpyxl
import os

# 対象ディレクトリのパス
directory = 'your/path'

# ディレクトリ内の全ファイルをループ
for filename in os.listdir(directory):
    # .xlsxファイルのみ対象
    if filename.endswith('.xlsx'):
        filepath = os.path.join(directory, filename)
        print(f"Processing {filepath}...")

        # Excelファイルを読み込み
        wb = openpyxl.load_workbook(filepath)

        # メタデータ(プロパティ)を変更
        wb.properties.creator = 'SAMPLE'     # 作成者を指定の名前に変更(例:部門名など)
        wb.properties.lastModifiedBy = ''     # 最終更新者を空にする(削除扱い)

        # 上書き保存
        wb.save(filepath)
        print(f"Updated metadata for {filename}")

print("All files have been processed.")

✅ 処理内容のポイント

wb.properties を使って、Excelの内部プロパティを編集しています。

作成者 (creator) は任意の文字列に書き換えられます。例として「SAMPLE」としています。

最終更新者 (lastModifiedBy) は空文字を指定することで事実上の削除になります。

元ファイルを そのまま上書き保存 するので、バックアップが必要なら別途対応してください。

⚠️ 注意点

.xls(古い形式) には対応していません。openpyxl は .xlsx 専用です。

パスやファイル名に日本語が含まれている場合、環境によってはエンコーディングエラーが出ることがあります。

上書き処理を行うため、事前にバックアップを取ることを強く推奨します。

🎯 おわりに

ちょっとしたスクリプトですが、手作業でメタデータを確認・修正する手間が一気に省けます。
「一括で処理したい」方におすすめです。

同様のニーズがある方の参考になれば嬉しいです!

0
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?