【Word VBA】一括置換による翻訳にて原文データを見ながら翻訳する

2012年3月16日

これ、以前からかなりのご要望をいただいておりました。

上書き翻訳でも「原文が見える」!

一括置換翻訳の支援ソフト「ぱらぱら」 用のマクロです。簡単な仕組みなので作ってみました。

4月15日の大阪でのセミナー にて参加されるみなさまにご提供させていただくときには、ボタン化するなど、使い勝手をよくしてみます。

このマクロでできること

現在カーソルが置かれている文書の本文を、1段落ずつ2回に並べて出力します。

1回目は隠し文字にして、2回目を通常の文字で記載します。

テキストボックスなど、本文以外の文字列に対しては作用しません。

また、表内の文字列に対してもうまく作用しませんのでご了承ください。

以下のように原文のデータがあります。

実行前

マクロを実行すると、以下のように青文字の隠し文字が挿入されたファイルが新規に作成されます。

実行後

隠し文字を非表示にすれば、黒い文字だけが表示されます。

うれしい使い方

ぱらぱらによる上書き翻訳(一括置換による翻訳)のときに、翻訳部分と原文とを同時に表示させることができます。

ぱらぱらでの一括置換では、隠し文字は置換対象に入りません。よって、ぱらぱらを実行しても青文字の隠し文字部分が原文のまま残ります。

また、ぱらぱらを実行した後の並べ替えの最中(翻訳最中)には、置換対象を「隠し文字になっていないもの」に設定すれば、青文字の隠し文字部分は置換されずに原文のまま残ります。

確認の必要がないときには、原文部分(青文字隠し文字部分)を隠すことができます。確認したいときにだけ表示させるようにしてもよいでしょう。

後の記事で、もう少し詳しく解説します。

→ 【Word】隠し文字以外の文字列を置換する場合の設定方法

マクロの解説

20行目~27行目で、隠し文字に設定しています。

マクロ


Sub 上書き翻訳用のデータ作成マクロ()

 Dim myDoc As Document
 Dim orgDoc As Document
 Dim myParaNum As Long
 Dim i As Long
 Dim myPosition As Long
 
 Set orgDoc = ActiveDocument
 Set myDoc = Documents.Add

 myParaNum = orgDoc.Paragraphs.Count
 
 Application.ScreenUpdating = False
 
 For i = 1 To myParaNum
  orgDoc.Paragraphs(i).Range.Copy
 
  With Selection
   '貼り付け
   myPosition = .Start
   .Paste
   .Start = myPosition
   With .Font
    .ColorIndex = wdBlue
    .Hidden = True
   End With
   .Collapse direction:=wdCollapseEnd
   '貼り付け
   .Font.ColorIndex = wdAuto
   .Paste
  End With

 Next i

 Selection.HomeKey Unit:=wdStory
 
 Set orgDoc = Nothing
 Set myDoc = Nothing
  
 Application.ScreenUpdating = True

End Sub

-コード
-,