【Word VBA】Memsourceのバイリンガルファイル(.docx)をA4サイズに変更するWordマクロ

2019年4月7日

最近の翻訳案件でMemsourceを使っています。Memsourceのエディター上で翻訳した場合に印刷して見直すためにWordのバイリンガルファイルに変換しています。

ところがここで問題が生じます。Memsourceのバイリンガルファイルの書式がA4サイズになっていないため、きれいに印刷できないのです。

そこで、今回の記事では、このMemsourceのバイリンガルファイルをA4サイズに変更するWordマクロを紹介します。

このマクロでできること

Memsourceのバイリンガルファイルは以下のような用紙設定になっています。

これをA4サイズに変更します。横幅が狭くなるのでそれに伴い表の列幅も調整します。

マクロの解説

Memsourceのバイリンガルファイルには通常、4つの表があります。ファイルが大きい場合には5つ目以降の表が存在します。

そのため、25行目で処理対象の表数をmyDoc.Tables.Countで特定して処理をしています。

マクロ


Sub MemsourceのバイリンガルファイルをA4形式で表示()
 
 Dim myDoc As Document
 Dim i As Integer
 
 Set myDoc = ActiveDocument
 
 '-------------------------------------------
 'サイズをA4に変更
 '-------------------------------------------
 With myDoc.PageSetup
  .PageWidth = MillimetersToPoints(210)
  .PageHeight = MillimetersToPoints(297)
 End With

 '-------------------------------------------
 '表の列幅を変更
 '-------------------------------------------
 '共通部分
 With myDoc.Tables(1)
  .Columns(1).SetWidth ColumnWidth:=523, RulerStyle:=wdAdjustNone
 End With
 
 '翻訳部分
 For i = 3 To myDoc.Tables.Count
  With myDoc.Tables(i)
   .Columns(3).SetWidth ColumnWidth:=205, RulerStyle:=wdAdjustNone
   .Columns(4).SetWidth ColumnWidth:=205, RulerStyle:=wdAdjustNone
   .Columns(6).SetWidth ColumnWidth:=55, RulerStyle:=wdAdjustNone
  End With
 Next
  
 '-------------------------------------------
 'オブジェクト変数の解放
 '-------------------------------------------
 Set myDoc = Nothing
 
End Sub

-コード
-, , ,