Wordファイルを普通に開いて編集すると、いつの間にやら個人情報が内部に溜まっていってしまうことがあります。
 このようなファイルは、通常業務として外部にメール送信するだけで、情報漏洩になってしまうことがあります。

 このようなファイルをメール送信前にチェックすることで、個人情報漏洩のリスクを減らすため、プログラムを書きました。

 プロファイルやコメント、変更履歴、旧版の削除についてはとくに問題なくVBAでコーディングできるのですが、隠し文字についてだけは一覧表示を行うのに少しだけ苦労しました。

下記にドキュメント内に使われている隠し文字の一覧をメッセージボックスで出せるようにしてみました。適宜内容を変更してもらえれば色々と使い道もあるのではないかと思います。

    Dim blnFound As Boolean
    With ActiveWindow.View         
            .ShowHiddenText = True ←←←(1)
    End With
    blnFound = True
    With Selection.Find
        .ClearFormatting
        .Font.Hidden = True
        Do While blnFound = True
            .Execute
            blnFound = .Found
            If blnFound Then MsgBox Selection.Range.Text
        Loop
    End With
    With ActiveWindow.View
        .ShowHiddenText = False
    End With

上の(1)のところに気づくのに時間がかかってしまいました。
(1)の箇所でツール→オプションの表示タブの編集記号の表示の隠し文字にチェックをいれないと、下記のFindメソッドによる検索でひっかかりません。この点について触れられているサイトがなく、2,3時間は頭をひねってしまいました。

この方法で、隠し文字の文字や出現場所をリストにし、必要なところは表示させたり、文字を削除したりすることで、より一層、情報漏洩のリスクが軽減されると思います。

なお、msgbox Selection.Information(?????)の????にインフォメーションメソッドの引数を入れると表示位置などの情報が取得できます。

なお、上記処理はWord 2000/2002 で処理を確認しておりますが、もし不具合が生じた場合はおっしゃっていただければと思います。

もっとも、Word 2002以降ではMicrosoft さんがご提供しているツールを使った方がよいとおもいます。ページから「隠しデータ」と検索して頂ければ該当ツールが表示されますので、ダウンロードしてお使いください。


カテゴリ: Word.
最終更新日: 6月 14, 2014

コメントを残して頂けると嬉しいです