【ワードマクロ】ワード文書から個人情報を削除する

小技の森ブログに「Office文書から個人情報を削除する」という記事がアップされました。

企業で仕事をされている方は、特に注意を払う必要がありますが、オフィス文書に記録されている個人情報が、意図せずそのまま外部へ流れてしまうことは、情報セキュリティ上、あまり好ましいものではありません。

私の場合、外部の翻訳者さんへ仕事を依頼する時や、お客様へ翻訳物を納品する前に、必ず、ワード文書から個人情報を削除してから送付しています。

そのために以下のような簡単なワードマクロを使っています。

Sub RemoveDocInfo()
ActiveDocument.RemoveDocumentInformation (wdRDIDocumentProperties)
ActiveDocument.RemoveDocumentInformation (wdRDIRemovePersonalInformation)
End Sub

もちろん、先述のブログ記事に従って手作業で削除しても良いですが、業務効率や品質保証の観点で見た場合、細々した作業もマクロ化しておく方が何かと便利で、私は小さなマクロをたくさん作ってストックしてあります。

そのメリットを私は以下のように考えています。

  1. 1〜2ステップで作業を完結できる。
    メニューを辿って実行できる操作も、数ステップの作業を必要としますが、マクロであれば、1〜2ステップで作業を完結できるというメリットがあります。
  2. 自分の翻訳プロセスに合ったマクロセットを作れる。
    小さなマクロを組み合わせて、翻訳プロセスに沿ったマクロセットを作り、一括処理できる。

「うっかり忘れた」を無くすために、納品前最終チェックで実行するマクロセットに、このマクロを盛り込んでおけば、確実かつ効率的に実施されて便利です。

【ワードマクロ】カーソルのある段落に蛍光ペンを付ける

私が仕事で使っているワードマクロをご紹介。
「マクロの記録」を使って作ったお行儀のよくないスクリプトですのでご容赦を。

このマクロは、カーソルのある段落を自動で範囲指定して蛍光ペンをつけるだけのマクロです。また、実行するたびに色が変わり、10色変化します。11回目に蛍光ペンなしに戻ります。(蛍光ペン色で字が潰れるのが嫌なので、10色に限定するようなことをやっています(笑))

Sub HighLight2Paragraph()
Dim ColorLoop As Integer
On Error Resume Next
Selection.MoveUp unit:=wdParagraph, Count:=1
Selection.MoveDown unit:=wdParagraph, Count:=1, Extend:=wdExtend
Selection.MoveLeft unit:=wdCharacter, Count:=1, Extend:=wdExtend

ColorLoop = Selection.Range.HighlightColorIndex - 1
If ColorLoop < 0 Then ColorLoop = 7
If ColorLoop = 2 Then ColorLoop = 14
If ColorLoop = 9 Then ColorLoop = 0
Selection.Range.HighlightColorIndex = ColorLoop
End Sub

私はショートカットキーへ登録して、翻訳チェックをしている時に目印付けの代わりに使っています。

嫌だ、行単位にしてくれ!という方は、以下のスクリプトを使ってくださいませ。

Sub HighLight2Line()
Dim ColorLoop As Integer
On Error Resume Next
Selection.HomeKey unit:=wdLine
Selection.EndKey unit:=wdLine, Extend:=wdExtend

ColorLoop = Selection.Range.HighlightColorIndex - 1
If ColorLoop < 0 Then ColorLoop = 7
If ColorLoop = 2 Then ColorLoop = 14
If ColorLoop = 9 Then ColorLoop = 0
Selection.Range.HighlightColorIndex = ColorLoop
End Sub