Word 2010・2007で、[挿入]タブ-[テキスト]グループ-[オブジェクト][▼]-[ファイルからテキスト]から、ファイルの挿入ができることをご紹介しました。
このコマンドを利用してやれば、指定されたフォルダに含まれるWordファイルを一つにまとめることができます。
複数のWordファイルをまとめるサンプルマクロ
Selection.InsertFileメソッドのヘルプに掲載されているサンプルマクロを、少しだけ修正したマクロをご紹介しておきます。
Dim doc_name As String
Documents.Add
ChDir "C:\Users\kiyotoito\Desktop"
doc_name = Dir("*.doc*")
Do While doc_name <> ""
With Selection
.TypeText "ファイル名 = " & doc_name & vbCr
.InsertBreak wdPageBreak
.InsertFile doc_name
.InsertBreak wdSectionBreakNextPage
.Collapse wdCollapseEnd
End With
doc_name = Dir
Loop
上記のマクロを実行すると、新規のWordファイルに、「C:\Users\kiyotoito\Desktop」フォルダ内のすべてのWordファイルが一つにまとめられます。
サンプルマクロの解説
Selection.InsertFileメソッドのヘルプには、Wile ~ Wendループ文の中で、.TXTファイルをまとめるマクロが掲載されています。それをDo ~ Loopマクロの中でWordファイルをまとめる形にしてみました。
「ファイル名 = 」という文字列の後ろにファイル名を挿入して
.TypeText "ファイル名 = " & doc_name & vbCr
改ページを挿入してから
.InsertBreak wdPageBreak
Wordファイルを挿入し
.InsertFile doc_name
セクション区切りを挿入して
.InsertBreak wdSectionBreakNextPage
Wordマクロの定番の処理である選択解除を行っています。
.Collapse wdCollapseEnd
上記の処理を
Do While doc_name <> ""
Loop
文の中に入れています。
フォルダ内の複数ファイルに対して処理を行うときの定番処理で、
Loop
の直前で次のファイルをDir関数で取得して変数・doc_nameに代入しています。
doc_name = Dir
Home » ワードマクロ・Word VBAの使い方 » Selection » 複数のWordファイルを一つにまとめるマクロ