Home » ワードマクロ・Word VBAの使い方 » Selection » 複数のWordファイルを一つにまとめるマクロ

複数のWordファイルを一つにまとめるマクロ

対象:Word2003, Word2007, Word2010

Word 2010・2007で、[挿入]タブ-[テキスト]グループ-[オブジェクト][▼]-[ファイルからテキスト]から、ファイルの挿入ができることをご紹介しました。

このコマンドを利用してやれば、指定されたフォルダに含まれるWordファイルを一つにまとめることができます。

[スポンサードリンク]

複数のWordファイルをまとめるサンプルマクロ

Selection.InsertFileメソッドのヘルプに掲載されているサンプルマクロを、少しだけ修正したマクロをご紹介しておきます。

Sub フォルダ内の全Wordファイルを一つにまとめる()
 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

End Sub

上記のマクロを実行すると、新規の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ファイルを一つにまとめるマクロ

「Selection」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.