2012年9月13日木曜日

文字の装飾をワンタッチで消すWordマクロ

【まえがき】

こういう文章中の装飾をまとめて消したい
文章に施した装飾 (蛍光ペン ・ 斜体 ・ 文字色 ・ 下線 ・ 囲い線などなど)をまとめて消したい場合、Wordの標準機能を用いるのであれば

  • [Ctrl] + [Shift] + [Z] または [Ctrl] + [Space] 
    • (VBAから呼び出したい場合) コマンド名 ResetChar

で、文字の装飾をまとめて消せます。消せるのですが、このコマンドでは

  • 上付き文字下付き文字
まで一緒に消えてしまいます。このため、装飾を消したい範囲内に、化学式(例えば、HO)や、数式(例えば、y=ax)が混じっている場合には、ちょっと使うのをためらってしまいます。

 上付き文字・下付き文字は残しつつ、文字の装飾のみを消せた方が助かるのですが、標準のコマンドとしてはどうも用意されていないようなので、マクロを組んでみました。

【実装したコード】


【実装したコードに関するメモ】

太字斜体打ち消し線など基本的な装飾に関しては問題ないと思うのですが、網掛け囲み線などについても消すことを忘れないようにしたいところです。
 (私事ですが、普段自分では使わない装飾が消えないと、手動での消し方がパッと思い出せず、消し方を調べる羽目になり「何や、この装飾!」 とフラストレーションが溜まります。閑話休題)


 上記コードに関しては、蛍光ペンだけ消す機能(EraseHighlight)など、それ単体でもマクロとして、または他のマクロの一部として使える機能を、プロシージャ単位で切り分けています。

 余談ですが、このマクロ、自分はけっこう頻繁に使うので、ショートカットキーの設定で Ctrl + Q (比較的押しやすい位置)に割り当てて使っています。

【使い方】

1.文字の装飾をまとめて消したい範囲を選択
2.マクロを実行
以上です!