ボタンひとつで文字カウント完了!:Wordマクロ入門編
業界や職種に関係なく、普段の業務でMicrosoft Wordを使用している方は多いと思います。翻訳会社の制作部でも、Word上で文章校正を掛けたり、一括処理を行ったりするなど、日常的にWordを使用しています。
MicorsoftアプリケーションにはVBA(Visual Basic for Applications)というマクロ言語用のプログラミング言語が搭載されており、Wordでももちろん利用できることはご存知でしたか?
Wordマクロって?
VBAでマクロを作成すると、たとえば普段ルーティンで行なっているさまざまな手動の処理を、ボタンひとつで自動で簡単に実行することができます。例えば翻訳会社の場合、ボリュームの大きいファイルをチェックする際などに、以下のような処理についてマクロを使って行うことができます。
- 文字列の検索と置換(複数条件)
- ファイルに含まれている特定の文字列のカウント
手動で行うことを考えると気が遠くなる作業ですが、マクロを使えばボタンを1度押すだけで完了です。
この便利なマクロ機能、実は初心者でも簡単に使いこなせます。この記事では入門編として使用方法の一例をご紹介します。
ケース:特定の文字列の数を数えたい!
今回は、文字列のカウント機能の作成の方法を紹介します。検索機能を使用して一つ一つ数を確認することも可能ですが、よく使用するものである場合、その条件でマクロを作成しておくと、ボタンひとつで処理ができるようになります。
さて、実際にコードを書いていく前に行うステップがあります。詳細については、[ 出典:Word VBA入門の最初の一歩!マクロ作成準備の6つのステップ ]のサイトをご参照ください。まったくの初心者でも非常にわかりやすく解説されています。
以上の準備を行なった後は、いよいよコードを書いていきましょう。
以下のようなドキュメントがあるとします。
A|タイトル B|本文 A|タイトル B|本文 … |
タグ部分(A|、B|)が作業時に削除されていないか数を確認したい場合などに活用できる、「タグの数をカウントしてテキストボックスに表示する」マクロを作ってみましょう。
コードウィンドウに、以下のように入力します。
*青字、赤字はVBAコードのコメント(コードに対するメモ書き)です。
Dim myRE As Object ’Object型の変数 Dim myMatch As Object Dim myText As String ‘String型の変数 Dim atag As Integer ‘A|タグ用の変数 Dim btag As Integer ‘B|タグ用の変数 myText = ActiveDocument.Range.Text ‘現在アクティブなドキュメントのテキスト Set myRE = CreateObject("VBScript.RegExp") '正規表現のオブジェクトをセット 'Aタグの数を数える With myRE ‘この下に検索条件を指定 .Pattern = "A\|" '検索する文字列。|はエスケープする .IgnoreCase = False '大文字と小文字を区別する .Global = True '文字列全体を検索 Set myMatch = .Execute(myText) ‘検索を実行 atag = myMatch.Count ‘変数にA|の数を格納 End With ‘Bタグの数を数える With myRE .Pattern = "B\|" .IgnoreCase = False .Global = True Set myMatch = .Execute(myText) btag = myMatch.Count End With 'それぞれのタグの合計をメッセージボックスで表示 MsgBox "A|:" & atag & "個 " &" B|:" & btag & "個" End Sub ‘終わり |
これでマクロ作成完了です。
実行すると、以下のようなメッセージが表示されます。
このマクロをリボンに表示させれば、次からボタンを押すのみでタグの確認ができます。
実は隠れた便利機能:マクロ
このように検索用のマクロを一つ作成すると、マッチ条件などを少し変えるだけで他のマクロも簡単に作成できますので、きっと重宝しますよ!
他にも、マクロを使ってボタン一つでスタイル(フォントや余白など)を整えることや、使用違反の文字のハイライト、重複している文字列の削除など様々なことができます。こんなケースに使えるマクロを教えてほしい、などご要望がありましたらぜひ下のフィードバックフォームからお知らせ下さい!
KIのサービス
普段ルーティンで行なっているさまざまな手動の処理を、自動化することで業務の生産性は大きく向上します。
弊社の提供する「Translation Designer」は、TMの機能や用語集参照の機能を備えつつ、機械翻訳にも対応する翻訳プラットフォームです。お手軽に機械翻訳を社内でご利用いただけます。
翻訳の効率改善を実現したい、自動化できる個所はないだろうか、とお考えの方は、ぜひTranslation Designerを一度お試しくださいませ。14日間無料トライアル実施中です。
関連記事