パソコンでWordファイルを作成すると、ファイルに著者情報が自動的に入るのはご存知でしょうか。試しに適当なWordファイルを右クリックして「プロパティ」を選択してみてください。以下のようなウィンドウが開きます。「詳細」タブを見るとファイルの作成者や前回修正した人の情報が残っていることが分かります。

最近では個人情報保護が叫ばれていますが、匿名のつもりで文章を書いたのにファイルに著者情報が残っていたら、誰のことか分かってしまうリスクがあります。

私は仕事において他社とファイルを共有することがあるのですが、中には業務上、作成者を匿名にする必要があるファイルがあります。そのようなファイルを先方に送る場合、Wordファイルから著者情報を削除する必要があります。1つや2つであれば手作業で著者情報を削除してもいいのですが、30個近くのファイルを扱わないといけないこともあって、それを1つ1つ手作業でやるのは結構面倒なんです。

そこで仕事をラクにするため、複数のWordファイルから著者情報を削除していくPythonプログラムを作成したので今日はそれを紹介します。

ちなみに手動で著者情報を削除するには以下のサイトを参考にしてみてください。

http://dtp.screen-cre.co.jp/dtp0027/

準備(ライブラリのインストール)

PythonでMS Wordを扱うにはPython-Docxというライブラリを使いますので、事前にインストールしておく必要があります。

コマンドプロンプトで以下のコマンドを入力して、Python-Docxライブラリをインストールしてください。

プログラムの動作

まずは私が作成したプログラムの動作について説明します。コマンドプロンプトからPythonプログラムを実行すると、以下のようにファイルを選択するダイアログが表示されます。ここで著者情報を削除したいWordファイルを選択します。Ctrlボタンを押しながら複数のファイルを選択することもできます。

ファイルを選択後「開く(O)」を押すとすぐに処理が終わり、著者情報が削除されたファイルを保存するダイアログが開きます(さっきと全く同じように見えますがダイアログのタイトルが「出力ファイル」となっていることに注目してください)。

最初に選択したファイルの数だけ繰り返し保存先を訊くダイアログが開きますので、それぞれ保存してください。元のファイル名の末尾に「著者情報削除済」という文字列が自動的に入るので、そのまま保存しても元のファイルとは別ファイルで保存されます。たとえば「Wordファイル.docx」は「Wordファイル(著者情報削除済).docx」となります。

「Wordファイル.docx」「 Wordファイル2.docx 」「 Wordファイル3.docx 」という3つのファイルから著者情報を削除した後のフォルダの様子です。

プロパティを見ると「作成者」と「前回保存者」の名前が削除されていることが確認できます。

プログラムのソースコード

では実際のPythonのコードを紹介します。

こちらからソースコードをダウンロードできます。

プログラムの解説

簡単にプログラムの解説をしていきます。

まずは必要なライブラリをインポートします。

入力ファイルの選択と出力ファイルの保存先を訊くためのダイアログを表示する関数を定義しています。

選択されたファイルを1つずつ開きます。

開いたファイルの「core_properties」に保存されている、著者(author)、カテゴリー(category)、前回保存者(last_modified_by)、コメント(comments)といったプライバシー情報を削除しています。

元のファイル名から保存するファイル名を作成し、保存先を訊ねるダイアログを開きます。キャンセルされなければ指定されたパスにファイルを保存しています。

以上がプログラムの解説です。

自分が使うために作ったプログラムなのでエラー処理は最低限しかしていません。動作に責任は持てませんので、もしお使いになるようでしたら自己責任のもと、気を付けてお使いください。