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

小技の森ブログに「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

WildLightの隠れマクロ

WildLightの取扱説明書に、こんな記述があるのをご存知でしょうか?

【メニュー登録されていないマクロ群】
WildLightでは、メニュー登録されていないマクロが多数存在します。 これらの呼び出しは、「開発」→「マクロ」でマクロ一覧画面を出し、「マクロの保存先」を「WildLight.dotm」にしてください。登録されているマクロのリストが出ます。なお、それぞれの使い方の説明は提供していません。Trial & Error にて自己責任でお使い下さい。

あくまで自分が使うマクロとして開発したWildLightであるが故に、公開していないマクロ機能も隠し持っているわけです(笑)
動作は保証しませんが、役立つようでしたら、ご利用ください。なお、実行してエラーが出るマクロは使わないようにしましょう(概ね、使い方が間違っているせいです)

MacroList

代表的なものを以下に示します。

  •  WL_Open_UserTemplatesFolder
    • ユーザーテンプレートフォルダーを開きます。ワードの normal.dotm は、このフォルダーに入っています。

ウエブ検索
範囲指定している文字列を検索します。

  • WL_S_EjiroSearch (英辞郎)
  • WL_S_GoogleBookSearch
  • WL_S_GooglePatentsSearch
  • WL_S_GoogleScholarSearch
  • WL_S_GoogleSearch
  • WL_S_MerriamWebstarThesaurusSearch
  • WL_S_OneLookSearch
  • WL_S_OxfordALDSearch
  • WL_S_OxfordSearch
  • WL_S_PROWritingAidCollocationSearch
  • WL_S_WeblioSearch
  • WL_S_YujiroSearch (郵次郎)

そのほか

  • WL_テキストボックスのテキストを文書末尾へ貼付
    • テキストボックス内のテキストすべてを、その文書末尾へ貼付けます。原稿準備や見積作業の時に使用しています。
  • WL_フィールドのリンクを解除してテキストにする (WildLightの機能メニューにあり)
    • フィールドの文字列を、リンクを解除してテキストにします。翻訳者にフィールドなど悩ましい操作をしてもらう必要のない原稿を作る際に使用しています。
  • WL_フォント別色分けと情報出力 (WildLightの機能メニューにあり)
    • フォント種別により色の違う蛍光ペンで着色し、フォント情報を新規ファイルに出力します。中国語案件など、日本語フォントとの混在を見つけるのに使用しています。ただし、標準フォントには色は付きません。
  • WL_隠し文字の有無チェック (WildLightの機能メニューにあり)
    • 文書内に隠し文字があるかどうかをチェックします。翻訳原稿で時々隠し文字が隠れていて、翻訳対象の確認で問題になることがあり、このマクロで確認をしています。
  • WL_改行コードを揃える (WildLightの機能メニューにあり)
    • Mac/Windows/Unixによる改行コードの差を、このマクロを使うことで統一した改行コードへ変換します。
  • WL_現文書を和訳し新文書に出力
    • 現文書を Google翻訳で和訳し、新規文書へ出力します。元言語は、Google翻訳がサポートする言語であれば、OKです。私は、自分が分からない言語の文書内容の概略を把握するときに使っています。
  • WL_特定フォント色部をワードへ抽出
    • 範囲指定した文字と同じフォント色の文字列を抽出して、ワードの新規文書へ出力します。
  • WL_和暦西暦変換 (WildLightの機能メニューにあり)
    • 範囲指定した和暦(日本語)を自動変換して、西暦の英語(米式)へ書き換えます。和暦のいろいろな書き方に対応しています。また、セパレーターを選びません。

例)
昭和24年5月10日 → May 10, 1949
H7・8・10 → AUGUST 10, 1995
T9/3/10 → MARCH 10, 1920
S14 7 15 → JULY 15, 1939

もし、「T9/3」のように日付が抜けた文字列を範囲指定した場合は、日の入力を促す画面が開きます。日を入れると、西暦の英語で置き換えます。
まったく何も範囲指定せずにマクロを起動した場合は、入力画面が現れ、年号、年、月、日を入力することで、カーソル位置へ西暦の英語を流し込みます。
※注意:同文書内のすべての該当する和暦が置換されますから注意してください。

使いたいマクロは、ショートカットキーへ設定して利用すると便利でしょう。登録の方法は「WildLight:マクロのショートカットキー登録方法(R2).pdf」というドキュメントを提供していますので、参照してください。
( Word_ShortcutKeyDialog というマクロで、登録画面が簡単に出せます。 )