カテゴリー「▼日英対訳表」の3件の記事

2009年6月 7日 (日)

【さらに改訂】翻訳文の比較表作成

2009/5/10に紹介した翻訳文の比較表作成マクロのアップデートです。

マクロに比較の不備が見つかったので、公開を控えました(2011/03/06)。

申し訳ありませんが、修正までお待ちください。

 


Tablecomparison4

●改善点
・Word2000に対応します。

・比較表のフォーマットをオートフォーマットの「プロフェッショナル」にしました。(「比較表作成」の420行)

・比較するときに([較]ボタンをクリックしたとき)、比較する文字列の大文字か小文字かを区別するようにしました。また、完全一致のみを比較対象とするようにしました。(「日英比較実行」の310行)

例:
(前のバージョン)
日本語中のTh の比較対象として、there is のth が検索されてしまいました。

(今回のバージョン)
日本語中のTh の比較対象として、Th のみが検索されます。「単語の一部のth」や「単独のTh ではあるが、大文字小文字が間違っているth やtH 」は検索されません。

結果、日本語に「番目の」と記載されていて、英語で4th となっている場合には、4th の4は見つけられませんので、ご注意ください。

使うとわかると思います。

●その他変更
コードのマイナーチェンジとしては、「比較表作成」の610行、660行の表現を変えました。

コードが2行減りました。

どうぞご利用ください。

| | コメント (0) | トラックバック (0)

2009年5月10日 (日)

【改訂】翻訳文の比較表作成 

2010/03/06 公開していたマクロの比較に不備がございましたので、公開を控えさせていただきます。

申し訳ありませんが、修正までお待ちください。

2009/6/7にさらに改良版をアップしました。こちら

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

先週、翻訳文の比較表を作成するマクロを紹介しました。

今回は、このマクロの改良および改訂をいたしましたので、紹介します。

●改良点

・比較する文字列を選べるようにしたこと(使用方法参照)

●改訂点
・開始段落、終了段落の設定上のバグを除去
・比較表を作成前に「較」ボタンをクリックしたときのエラー対応

●使用方法
前回のマクロを削除してから、今回のマクロをインストールしてください。

インストールの方法はこちら

使い方は、前回のマクロと同じです。

Tablecomp21_2 「較」ボタンをクリックすると、左のような設定画面が表示されるようにしました。

この画面にて、括弧、ハイフン、英字の大文字・小文字など、比較対象としたい文字列を選ぶことができます。

また、文字数もこの設定画面で入力します。

●改定点詳細
・開始段落、終了段落の設定上のバグを除去
(日本語と英語列記のプログラムの40~290行)

先週のマクロでは、開始段落と終了段落の変数のデータ形式をvariantとしていました。

この場合、段落の数が数字として認識されません。

この結果、数値の大きさ比較を適切に行うことができませんでした。

例えば、開始段落に5を入力した後に、終了段落に10を入れた場合、終了段落が開始段落よりも小さいと誤判定されてしまいました。

今回の修正にて、開始段落と終了段落の変数のデータ形式をintegerに変更したところ、正常に判定されるようになりました。

・比較表を作成前に「較」ボタンをクリックしたときのエラー対応
(日英比較実行の最終行)

●工夫
ユーザーフォームで設定した値を引数として日英の文字列比較プログラムで利用しています。

ユーザーフォームの作り方は、こちらで紹介した「かんたんプログラミング」をご覧ください。

私が作ったものはかなり基本的なところなので、本書があれば理解できると思います。

| | コメント (0) | トラックバック (0)

2009年5月 3日 (日)

翻訳文の比較表作成

2011/03/06 公開しているテンプレートの比較方法に一部不備がございましたので、テンプレートの公開を控えさせていただきます。

修正版をお待ちください。

2009/5/10に修正版をアップしました。こちらです。

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

日本語明細書と英語明細書の内容を確認するためのマクロです。

win98se + word2000 および winXp + word2003にて動作確認をしました。

●作用

Tablecomp2
①段落ごとに対応表を作成します。

左に日本語明細書の内容、右に対応する英語明細書の内容を表示します。

表を作成する対象となる段落番号を設定することができます。

Tablecomp3
②段落ごとに、記載されている英数字が対応しているかどうか確認します。

左の例では、左の欄の日本語明細書中の青蛍光で表示された文字列は右の英語明細書中に記載されていません。

また、右の英語明細書中の黄蛍光で表示された文字列は左の日本語明細書の文字列と一致するものです。

●使い方
①マクロの登録

登録方法はこちら

保存先は、テンプレートフォルダでも、スタートアップフォルダでもどちらでもかまいません。

Tablecomp1 左のようなボタンがツールバーに表示されます。表示されない場合には、メニューのツール>テンプレートとアドイン(I)を開いて、アドインとして使用できるテンプレート欄の「table_comparison.dot 」というテンプレートのチェックボックスをオンにしてください。

②サンプル文を開く

サンプル文(「sample_text_JP2008-127318.doc」をダウンロード )を開きます。

ダイキン工業さんの特開2008-127318から抜粋させていただきました。化学式が多数記載されており、今回のマクロの効果の確認がしやすいと思います。

③比較表の作成

ツールバーの「表」ボタンをクリックします。

表として作成する段落番号を選びます。メッセージボックスで最初の段落と最後の段落を入力します。入力後、マクロが実行されて表が作成されます。

サンプル文は、34段落ありますので、開始段落を「1」、終了段落を「34」と入力すると、すべての段落を表にすることができます。

明細書中の一部だけを表にする場合には、対応する段落番号を入力します。

たとえば、段落10から段落15までを表にする場合には、開始段落を「10」と入力して、終了段落を「15」と入力します。

Tablecomp4 左が、作成された表の例です。段落1から段落3までの内容を示します。

サンプル文の英語明細書にて、[0001]から[0003]段落は青文字になっているため、作成された表においても英文字が青文字になっています。

また、サンプル文の日本語明細書中の【0003】段落および【0006】~【00011】段落、英文明細書中の[0028]-[0029]段落はデモとして意図的に削除してあります。

その結果、作成された表中には、段落番号が記載されるだけで、内容は空欄になっています。

サンプル文を確認するとわかりますが、英文明細書にて青文字部分の、[0001]から[0003]段落は[0009]と[0010]との間に記載されています。

このような場合でも、問題なく段落の内容を拾い出されます。

④英数字の対応の確認

ツールバーの「較」ボタンをクリックします。

メッセージがあわられて、比較する最大文字数を入力します。

具体的には、CF(CFO(CFCF(CF)O)(CFSOFのような長い文字列まるごとを比較するには、上記文字列の文字数である「33」を入力します。

大きな数を入れれば、文字列そのものを判定してくれますが、その文、比較処理に時間がかかります。

上記のように33文字の文字列がある場合でも、例えば「5」と入力してもかまいません。

この場合には、上記文字列を5文字ずつ7つに区切って、日本語と英語とで比較します。

比較結果をみながら、いろいろとお試しください。

Tablecomp5 差異があれば、その差異があった箇所の数をメッセージボックスで表示します。

Tablecomp6 左の例においては、比較する最大文字数を20文字とした場合の比較結果を示します。

英文中の化学式の記載をわざと誤入力してありますので、その部分が青文字になりました。

青蛍光:英語に存在しない文字列

黄蛍光:日本語と英語ともに存在する文字列

サンプルを実行して確認してください。

⑤蛍光色の削除

ツールバーの「較」のとなりのボタンをクリックすると、比較後の青色と黄色の蛍光色が削除されます。

●留意点

①比較対象の文書の作成方法

比較対象の日本語明細書と英語明細書とを両方とも同じファイルに記載します。作成方法は、サンプル文を参考にしてください。

比較対象の文書を作成する場合には、日本語明細書の最終段落のあとに【0000】(全角)と入力し、英語明細書の最終段落のあとに[0000](半角)と記載します。

②比較対象の文字列

.a-zA-Z0-9)( としています。

日本語明細書の全角英数字をすべて半角に処理した後、上記の文字列を探します。

化学式に対応するように、括弧()も比較対象としました。

●工夫

またしてもrangeオブジェクトを使用しました。

表は、比較対象の文書からコピペを繰り返して作成しているのですが、カーソルの移動をなくしたために、処理スピードがかなり向上し、画面のちらつきも減りました。

●メモ

①テーブルの開始行をタイトル行にして表示を中央よせにする
Doc.Tables(1).Rows(1).HeadingFormat = True
Doc.Tables(1).Rows(1).Range.ParagraphFormat.Alignment = wdAlignParagraphCenter

②選択範囲を半角文字にする
Selection.Range.CharacterWidth = wdWidthHalfWidth

| | コメント (3) | トラックバック (0)