この「講座」は、@nifty「翻訳フォーラム・アドバンスメント館(FTRAN2)」の第13会議室「翻訳JOB応援会議室」にて連載されているものを、著作者の許可を得てウェブ上に転載したものです。

この「講座」内容に関連する質疑応答は、@nifty「翻訳フォーラム・アドバンスメント館(FTRAN2)」の第13会議室「翻訳JOB応援会議室」にて受け付けております。

講座内容についてのご質問がある方は、どうぞ、上記会議室においでください。

6.3 高効率化(続)

★マクロの自作

人が作ったマクロに満足できないなら、自分で作るのが一番です。

秀丸エディターのマクロはC言語と似ています。ワードのマクロはVB(Visual Basic)そのものです。つまり、マクロプログラムを作成するためには、プログラミングの知識がある程度は必要となります。そうはいっても、プログラマのように何から何まで知っている必要はありません。自分が欲しい機能が実現できればいいんです。実現方法も、カッコよくする必要はありません。愚直にやればいいのです。

例として、文章末に飛ぶマクロを取り上げます。

秀丸エディターでは、表示されている行の最初や最後、また、段落の最初や最後に移動する機能は、標準で提供されています。でも、段落内の文章ごとに移動していく機能はありません。一方、一太郎では、Ctrl+Kで文章の最初に、Ctrl+Lで文章の最後に移動することができます。文章の途中に戻って一部書き換えを行い、また、訳文の入力を続けていくような場合に便利な機能で、昔、一太郎で翻訳をしていた時代によく使っていました。そのため、秀丸エディターに移行した際、同じ機能が欲しいと思ったわけです。

この機能を使いたいときには、カーソルは文章の途中にあるはずです。その文章の末尾に移動するのですから、カーソルを右に移動させます。ひとつ移動するごとにカーソル位置の文字を調べ、文章末であるかどうかを判定します。「。」や「.」、改行記号だったら、そこが文章末である可能性が高いですね。簡単には、これらの記号だったら文章末であると判断してカーソル移動をストップさせ、マクロの実行を終了します。これだけのことで、そこそこ使えるマクロとなります。(カッコよくするなら、文章末となるキャラクタを正規条件で検索するといった方法もあります)

これだけだと、「123.45」というような小数が文章中にあると、そこでカーソルが止まってしまいます。それでもいいと思うんです。「文章末に移動するマクロ」として他人に販売するわけではありませんから。もう一回、同じマクロを実行すればいいだけのことです。もちろんそれがいやなら、「.」の前後が数字であるかどうかを調べ、数字だったらカーソル移動を続けるとします(最近はURLもありますけど……)。

また、このままでは、「。」や「.」、改行記号が出てくる前にファイルの末尾に来てしまった場合マクロが終了しないという問題が発生します(このような場合はEscキーでマクロを強制終了させます)。このような最初に作る段階では気づきにくい問題は、発生した時点で対処すればいいのです。対処方法は、判定条件にファイル末尾(eof)かどうかを付け加えるだけです。

「自分も作ってみよう」と思われた方には、まず、他人の作ったマクロを入手して中身を見てみることをお勧めします。

いくつか開いてみて、まずは、簡単なマクロをみつけます。その最初と最後の部分は、おまじない的に必要なコマンドが書かれていることが多いので、その辺りのコマンドの意味するところを「マクロ」メニュー→「マクロヘルプ」で確認し、必要そうなら、自分のマクロの最初と最後にも書くようにします。あとは、自分に必要な処理を書いては実際に動かしてみるわけです。

この際、マクロのヘルプでコマンドを確認しては書いてみるという方法以外に、キー操作の記録とかキーボードマクロなどと呼ばれる方法も有用です。これは、キーボードから入力した操作をマクロの形で記録していってくれるというものです。この機能を活用すれば、たとえば、上記でカーソルを右に動かすというコマンドが分からなくても、記録を開始してカーソルを右に動かしてみれば、どのコマンドでカーソルを右に動かすことができるかがわかるわけです。ただし、人間が目で見て判定している部分(条件判定)については、マクロヘルプから適切なコマンドを選んで記述する必要があります。

マクロの作り方を細かく説明すると、それこそ本が1冊書けてしまいますから、二足の草鞋講座ではここまでとします。ニーズはあると思うので、いつか(^^;) 書いてみたいと思いますが……。

★マクロが自作できない場合

比較的簡単だとはいっても、プログラミングをまったくしたことがない人が、自分1人でマクロを作れるようになるのは、かなり大変かもしれません。そのような場合は、作れる人に頼んで作ってもらうという方法もあります。私自身、ワード用にVBでマクロを組みたいけれどもVBを勉強している時間がとれなかったとき、知り合いに頼んで作ってもらいました。それなりの対価は支払いましたが、時間コストまで考えれば、自分ですべてをやるよりも安価にできたと思います。

前のページ 次のページ

「二足の草鞋」目次トップページに戻る