アプリ開発ときどきアウトドア

主にJavaを使ったアプリ開発やトラブルシューティング等のノウハウ、キャンプや登山の紹介や体験談など。

1. システムエンジニアリング Excel/Word

PowerPointの削除できない個人情報を消す

投稿日:

PowerPointで「個人情報の削除」を実行するとこで、作成者や会社名等の個人情報を削除できます。しかしながら、特定の項目に入った個人情報については、PowerPointやWindowsの標準機能で削除できません。そのため、ここでは、このようや標準機能で削除できない個人情報を削除する方法を説明します。

なお、ここでは削除対象とする項目は「テンプレート」「テーマ」としていますが、同様に他の項目も削除できると思います。
※会社名を個人情報と呼ぶのは無理があるかもしれませんが、便宜上「個人情報」と表記します。

前提

  • PowerPoint 2010/2013で確認しています。
  • 「PowerPointプレゼンテーション(*.pptx)」のファイル形式を対象とします。「PowerPoint 97-2003プレゼンテーション(*.ppt)」等の他の形式は対象外です。
  • pptxファイルの編集に7zipを使用していますが、ZIPアーカイブ内を編集できる他のツールでも代用できます。WindowsのエクスプローラでZIPファイルを開き、直接編集を試みましたが、私の環境ではできませんでした。(海外の書き込みを見るとエクスプローラでやれ、という情報もあるので、環境によってはできるかもしれません。)
  • 一旦、ZIPファイル解凍してから通常ファイルとして編集後にZIP圧縮しなおす方法もあると思います。トップフォルダ名をアーカイブに含めるのか否か?等のようにZIPファイル内のファイル構造が変わってしまう可能性があるので、私はこの方法は使いませんでした。

「個人情報の削除」で消せないプロパティ

「個人情報の削除」で削除できないが個人情報が含まれるプロパティの例として「テンプレート」「テーマ」があります。「テンプレート」はファイルのプロパティからでも確認できますが、「テーマ」はPowerPointの「詳細プロパティ」でしか確認できないので見落としやすく注意が必要です。

[詳細プロパティ]を開く方法は、次のようにPowerPointの[ファイル]-[情報]タブから[詳細プロパティ]を選択します。

これらの項目に個人情報が設定される理由は、「個人情報を含んだPowerPointテンプレートから、PowerPointプレゼンテーションを作成しているから」のようです。
例えば、上記の画面例は、個人情報を含んだ「PowerPointテンプレート(*.potx)」を作成後、このファイルをテンプレートとして、新しいPowerPointプレゼンテーションを作成してます。
十分な検証ができていませんが、PowerPoint2010では、テンプレートのファイル名が「テンプレート」項目に設定されるようです。PowerPoint 2013では、テンプレートのファイル名が「テンプレート」項目、テンプレートのマスタスライドの先頭の「スライドタイトル」が「テーマ」項目に設定されるようです。

削除方法

pptxは各種のファイルがzip圧縮されたファイルになっています。この中には、プロパティを定義しているXMLファイルも含まれているので、そのファイルを編集して、個人情報を削除します。
テンプレート等のファイルプロパティは”\docProps\app.xml”、テーマは”\ppt\theme\theme*.xml”です。

  1. PowerPointのファイルをバックアップする
    この後の編集でファイルが壊れても良いように、対象ファイルを別名で保存しておく。
  2. PowerPointファイルをZIPファイルとして開く
    7zipの場合は[開く]で直接開けます。
  3. プロパティを定義するapp.xmlファイルを開く
    “\docProps\app.xml”を右クリックして[編集]をクリックする。

  4. 個人情報を削除して保存する
    個人情報を削除し、ファイルを保存する。保存後に「アーカイブを更新しますか?」と確認があるので[OK]をクリックする。
    (微妙に圧縮オプションが変わっているが、PowerPointのファイルとしては問題なかった。)
  5. 同様に、消したい項目を含むXMLファイルを探し当てて、編集して保存する。「テーマ」を消したい場合は”\ppt\theme\theme*.xml”にある個人情報を削除して保存する。
  6. 7zipを閉じる
  7. PowerPointファイルを確認する
    対象のファイルがPowerPointのファイルとして正常に開けるかを確認する。
    問題なければ、詳細プロパティで個人情報が削除されたかを確認する。
  8. 念のための保存しなおす。
    7zipでアーカイブを更新すると、そのファイルの「圧縮方式」が微妙に変わってしまうので、念のため保存しなおして、本来の圧縮方式に戻す。

これを機に思うこと

  • 安全性を考えるならPDF等の他のフォーマットにエクスポートして使おう。
    顧客側での編集や再利用を防止する目的を主としてPDFにエクスポートしたファイルを顧客に渡すことが多い。セキュリティ上の目的でも最適だと思う。
  • PowerPointテンプレートを作成する際は気を付けよう。
    テンプレートに個人情報が含まれないよう、事前に検証するべきである。
  • 個人情報を削除する際は詳細プロパティも確認しよう。
    ファイルのプロパティ等で簡単に確認できる項目もあるが、詳細プロパティでしか確認できない項目もあることに注意した方が良い。


(adsbygoogle = window.adsbygoogle || []).push({});


(adsbygoogle = window.adsbygoogle || []).push({});

-1. システムエンジニアリング, Excel/Word

執筆者:

関連記事

Wildfly11のインストール

このサイトでWebアプリを公開したい。 仕事ではJBoss Enterprise Application Server(JBoss EAP)を使う機会が多いのでそれを使いたいがライセンス料がかかる。無 …

開発・検証用のダミーメールサーバの構築(fakeSMTP)

アプリ開発や検証等でメールサーバを利用したい場合がある。 プロジェクトで共有の検証用メールサーバを構築できると効率が良いか、その準備が間に合わなかったり、使用者が限定的な場合は、使用者の開発環境上に構 …

Webアプリテスト用のHTTPヘッダの追加

フロントに配置されたリバースプロキシサーバやロードバランサで設定されたHTTPヘッダを使用するWebアプリを開発することが多々あります。 このようなシナリオでは、設計に基づいて実装することはできますが …

区分データ生成ツール

区分定義書の変更時、定数や列挙体、マスタの一部を手動で修正するような運用だと、抜け漏れや間違いが発生する場合があります。この辺の手間や間違いを低減するために、区分定義書から自動的に成果物を作成するEx …

chromeのjavascriptを一時的に無効化

Webアプリの開発やテストで、クライアント側のバリデーションを無効にしてサーバ側バリデーションの動作確認する、等のように一時的にjavascriptを無効にしたい場合があります。これを実現するための方 …