« 翻訳書は読みにくいもの | トップページ | ミスの少ないワークフロー:辞書引き »

2010年8月 3日 (火)

ミスの少ないワークフロー:コピーペーストの省力化

先日、「翻訳チェックツール、CheckAlignの説明会に参加」という記事で、「チェック用ツールの導入よりミスが混入しないワークフローへの変更が大事」ということを書きました。

じゃあ、具体的にどうするのかも書かないと片手落ちですよね。イマドキ、原稿はファイルで送られてくるのが普通です。つまり、数字とか英語ママ残すものなどは、原稿にもともと入っているのが普通。それをコピーペーストすればいいわけです。

その際の手順は、一般的には(↓)でしょうか。

  1. 範囲選択(マウス or キーボード)
  2. コピー(Ctrl + C)
  3. 訳文にカーソルを移動
  4. ペースト(Ctrl + V)

けっこうな手間なんですよねぇ、コレ。数字なんかだったら、いちいちやるよりキーボードから入力したほうがず~っと楽だし速い。そう考える人が多いから、コピーペーストすればいいものにミスが頻出するのだと思います。

このパターンで省力化するポイントとして一般的なのは、範囲選択の部分。範囲選択のとき、マウスなら、ダブルクリックからで単語単位に選択できるとか、キーボードでShiftやCtrlとカーソル移動キーの組み合わせを上手に使うとか、そんな話になります。

私は無精なので、上記の2、3、4なんてめんどくさいことをするのもイヤです。かといって、ミスが混入するワークフローで作業して、あとからミスを検出するなんてそんなめんどくさいこともイヤです。

というわけで、私は、基本的に(↓)の手順でコピーペーストしています。

  • マウスで対象部分上にカーソルを移動し、左右ボタンの同時押し

これで、空白で前後を挟まれた部分が訳文の最後に貼りこまれます。そういう形にマクロを組んで、マウスの左右ボタンを同時押しすると起動するように設定してあるのです。

このマクロ、秀丸用はSimplyTermsに同梱して公開してあります。

Buckeye the TranslatorのSoftware Libraryにあります。

詳しくは、上記サイトから飛べる「秀丸マクロ(Buckeye作)ヘルプ」を参照してください。公開マクロのうち、Copy_Lstというのがここで説明したマクロです(Copy_LST-3clというのは左右ボタンの同時押しでトリプルクリックにマクロを割りあてるときに使う)。

このマクロ、範囲選択の有無で動作が違います。

  • 範囲選択なし→空白など区切りとみなす部分で挟まれたものをコピー
  • 範囲選択あり→選択部分をコピー

このマクロ、とてつもなく便利で、これなしでは、翻訳も物書きもプログラミングも、どれもやるのがおっくうになります。私の場合、翻訳をするのも、こういうブログの記事を書くのもいろいろな原稿を書くのも、また、メールを書くのも、すべて秀丸になっているのですが、その理由はこのマクロだと言っても過言ではないほどです。

自分が秀丸主体なものでほかの環境のマクロはあまり作っていないのですが……もちろん、Wordでも同じような機能を持つマクロが作れます。昔、翻訳フォーラムの会議室にアップしたのが(↓)のマクロ。

==========================
Sub CopyLastText()
' 範囲選択して実行すると、
' 選択範囲のテキストを最終編集位置に挿入する
' 2007/01/07 Buckeye

Dim SlctTxt As String

'選択範囲のテキストを取得
SlctTxt = Selection.Range.TEXT
Selection.Collapse

'最終編集位置に戻って
Application.GoBack

'テキストを入力
Selection.TypeText TEXT:=SlctTxt

End Sub
==========================

機能限定版というか、範囲選択してからでないとコピーしてくれませんが、これでもないよりはずいぶんとマシのはずです。

なお、これではShift-JISのテキストしかコピーできません。ユニコードの特殊文字や書式はダメです。という話をしたら、同じ会議室に「こうしたら?」と書いてくださった方がおられます。(↓)のコードです。こちらならユニコードの特殊文字や書式もコピーされます。

==========================
Sub CopyLastFormattedText()
If Selection.Type <> wdSelectionIP Then
    Selection.Copy
    Application.GoBack
    Selection.Paste
Else
    Exit Sub
End If
End Sub
==========================

問題があるとすれば、クリップボードを使うので、クリップボードを監視しているソフトウェアがあるとそちらが動いてしまうこと。プログラムを工夫すればクリップボードなしにもできるはずですが、Wordのマクロにあまり時間を使いたくないので、私はこれ以上のことをしていません。

なお、このマクロ、基本的にWord 2003以前のものでしか使えないはずです。Word 2007からVBAも大きく変化して後方互換性がないからです。また、OSとの組合せでは、Word 2003以前でもうまく行かないケースがあるなども報告されています。というわけで、使ってみてうまく行かない場合は……あきらめてくださいませ。なんといってもWordですから(^^;)

|

« 翻訳書は読みにくいもの | トップページ | ミスの少ないワークフロー:辞書引き »

PC-ソフトウェア」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: ミスの少ないワークフロー:コピーペーストの省力化:

« 翻訳書は読みにくいもの | トップページ | ミスの少ないワークフロー:辞書引き »