« 【改良】キーワードが掲載されたページを取得する | トップページ | マクロのテンプレートファイルにテンプレートを切り替える »

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

|

« 【改良】キーワードが掲載されたページを取得する | トップページ | マクロのテンプレートファイルにテンプレートを切り替える »

▼日英対訳表」カテゴリの記事

コメント

今回のマクロはword2000対応です。
本日の13時ごろにアップした時点では、word2003のみに対応していましたが、本日15時ごろにこっそり改訂版に差し替え、word2000にも対応するようにしました。

投稿: 管理人 | 2009年5月 3日 (日) 14時49分

何度実行しても、英語明細書欄に段落番号のみしか入りません。
エラーは発生していません。

投稿: まーくろ | 2010年5月13日 (木) 11時14分

まーくろさん、

こんにちは。コメントをどうもありがとうございました。
おそらく、段落番号の入力方法に原因があると思われます。

申し訳ありませんが、このソフトが認識できる段落番号は
[0001](直後に改行)
[0002](直後に改良)
・・・
というものです。

スクウェアブラケットの右側に文字列や半角や全角のスペースが
ない状態でお試しください。

お手数ですが、段落番号を書き直してお試しください。

なお、以下のページから最新版をダウンロードいただけます。
http://wordvba.cocolog-nifty.com/blog/2009/06/2009.html

こちらも、段落の認識方法は上記の通りですが、比較の精度が
向上しています。

投稿: 管理人 | 2010年5月13日 (木) 21時57分

コメントを書く



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




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/519619/44880570

この記事へのトラックバック一覧です: 翻訳文の比較表作成:

« 【改良】キーワードが掲載されたページを取得する | トップページ | マクロのテンプレートファイルにテンプレートを切り替える »