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 さんがご提供しているツールを使った方がよいとおもいます。ページから「隠しデータ」と検索して頂ければ該当ツールが表示されますので、ダウンロードしてお使いください。
コメント