
送付先毎に内容が異なる通知文を1000通作成する為に、まずExcelでテーブルを作り、Wordで差込用の文書を作り、Excelのデータを取り込むところまではやりましたが、これでは全て1つのファイルになってしまいます。(1件あたり3ページの通知なので3000ページの1Wordファイル)
これを、差し込んだ後宛先毎に全て別のファイルとして(1000個のWordファイル)保存する方法はありませんでしょうか?
作成した通知文を各送付先毎のフォルダに分けて保存しなくてはならない為、必須事項なんです。
なんとか自動的に行いたいと思っています。
また、もし可能だった場合、各ファイル名はどんな形で割り当てられるのか・・・?
出来ればファイル名は顧客コード(Excelのデータテーブルには情報があります)で一発で保存できたら幸いです。
お知恵を下さい。どうぞよろしくお願いします。
No.2ベストアンサー
- 回答日時:
以前、同様の処理をマクロを使って行いました。
WordのVBAを良く理解せずに作ってますので、あまりスマートではありませんが事は足りました。
差し込みメイン文書(事前に差し込み設定して保存した物)に下記マクロを仕込んで実行すると、メイン文書と同じフォルダに指定したフィールド値(例では4番目)で保存します。
試す場合はテスト環境で。
Sub Test1()
Dim i As Long, LRec As Long
With ThisDocument.MailMerge
.DataSource.ActiveRecord = wdLastRecord
LRec = .DataSource.ActiveRecord
For i = 1 To LRec
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
.DataSource.FirstRecord = i
.DataSource.LastRecord = i
.DataSource.ActiveRecord = i
.Execute Pause:=True
ActiveDocument.SaveAs ThisDocument.Path & "\" & _
.DataSource.DataFields(4).Value & ".doc", wdFormatDocument
'ファイル名に使うフィールド(例では4番目)
ActiveDocument.Close
Next i
End With
End Sub
この回答への補足
早速のご回答ありがとうございます。
もう、わらにもすがる思いです。一度ご経験がおありという事ですから心強いです!
私自身がVBAを理解していないので手ほどきを頂けませんでしょうか?
やった作業を書き留めます。
「差込テンプレート.doc」に「差込データ.xls」を差込み、
「ツール」→「Visual Basic Editor」の「This Document」に
Sub Test1()
Dim i As Long, LRec As Long
With ThisDocument.MailMerge
.DataSource.ActiveRecord = wdLastRecord
LRec = .DataSource.ActiveRecord
For i = 1 To LRec
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
.DataSource.FirstRecord = i
.DataSource.LastRecord = i
.DataSource.ActiveRecord = i
.Execute Pause:=True
ActiveDocument.SaveAs ThisDocument.Path & "\" & _
.DataSource.DataFields(4).Value & ".doc", wdFormatDocument
ActiveDocument.Close
Next i
End With
End Sub
と書いて「×」で閉じる。
マクロの実行をしましたが、『このマクロは無効に設定されています・・・』といったメッセージが立ち上がり、何も実行されません。
(果たしてこの手順でよいのかも疑問なのですが・・・)
セキュリティレベルも下げて見ましたがうまくいかないのですが、
手順を今一度ご教示頂けませんでしょうかか?素人で本当に申し訳ございません。。。
どうぞよろしくお願いいたします。
No.3
- 回答日時:
#2です。
標準モジュールに書く方が普通かも知れませんが、該当文書のThisDocumentモジュールでも問題ありません。
>『このマクロは無効に設定されています・・・』といったメッセージが
セキュリティレベルを「中」にした状態でWordを起動し、その後、該当ファイルを開けば「マクロ有効にしますか?」のような確認が出ると思います。
そこで「マクロ有効」にして開けば実行出来ると思いますが、、、
実行時に同じフォルダ内に同名ファイルがあった場合の上書きチェック等は特にしてませんので、試す場合はご注意下さい。
早速のご回答ありがとうございます。
ご指定の通り試したところ、分割できました。
本当に助かりました。
何度もお知恵をお借りして恐縮です。
ご協力ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Word差し込み後にセクション別に名前を付けて保存
Word(ワード)
-
(実行時エラー5852)ExcelデータをWordに差し込んだ後、Wordファイルを分割するマクロ
Word(ワード)
-
wordで10ページのものを1ページずつ分けたファイルにするには?
Word(ワード)
-
-
4
Wordで差込印刷した後に別々のファイル名をつける
Word(ワード)
-
5
差し込み後、元データを変更し 差し込み先に反映させるには?
Access(アクセス)
-
6
個別に違う添付ファイルを付けて一括でメール配信をしたいのですが、EXC
Visual Basic(VBA)
-
7
EXCELで特定のセルに表示された項目をヘッダーやフッターに出力するには
Excel(エクセル)
-
8
Wordの差し込み印刷で、データの桁数で、印刷位置がずれてしまう。
Excel(エクセル)
-
9
差し込み印刷の元データファイルの探し方
Excel(エクセル)
-
10
Word2010の差し込み印刷で結果のプレビュー表示が出来ない
Word(ワード)
-
11
word差込印刷 _空白だった場合詰めて表示したい
Word(ワード)
-
12
差し込み文書のルールで if then else を入れ子型で使いたい。
Word(ワード)
-
13
ページを抜粋して保存できますか?
Word(ワード)
-
14
差込印刷での条件指定
Excel(エクセル)
-
15
Word2003:セクション区切りすると、不要な空白ページができる
Word(ワード)
-
16
ワードの差し込み印刷の参照先の変更について教えて下さい
Word(ワード)
-
17
エクセルで、抽出したデータだけを別ファイルにしたい
Excel(エクセル)
-
18
差し込み印刷で「Next Record If」を使うと「挿入できません」というメッセージが出る
Word(ワード)
-
19
差し込み印刷 Next Record
Word(ワード)
-
20
セルの文字を「印刷時だけ非表示」にしたいです。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのプロパティーでセキ...
-
ファイルのアクセス回数について
-
Wordで差込印刷した後に別々の...
-
ExcelブックをGoogleスプレッド...
-
Excel csv保存 列数が異なる場...
-
エクセル UserForm 呼び出しで...
-
【Excel VBA】ファイルを保存し...
-
マクロ実行後、表示がおかしくなる
-
PowerPoint 2002でファイル名を...
-
大量のCSVファイルをExcel形式...
-
複数のexcelのファイルを一括で...
-
実行時エラー52
-
エクセルのマクロで行と列の削...
-
サブフォルダから部分一致のエ...
-
アクセスからエクセルのプロシ...
-
EXCEL 検索時の設定
-
VBAでエクセルで作成したフ...
-
エクセルで複数のコメントのサ...
-
エクセルvbaでdocuworksprinter...
-
エクセルVBAで一つ上の階層...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルのプロパティーでセキ...
-
ファイルのアクセス回数について
-
ExcelブックをGoogleスプレッド...
-
Wordで差込印刷した後に別々の...
-
Excel csv保存 列数が異なる場...
-
マクロ実行後、表示がおかしくなる
-
エクセル UserForm 呼び出しで...
-
PowerPoint 2002でファイル名を...
-
エクセルファイル名に更新日時...
-
エクセルでcsvファイルを開いて...
-
複数のexcelのファイルを一括で...
-
サブフォルダから部分一致のエ...
-
大量のCSVファイルをExcel形式...
-
EXCEL 検索時の設定
-
実行時エラー52
-
vbaでボタンをクリックして上書...
-
【Excel VBA】ファイルを保存し...
-
エクセルのマクロで行と列の削...
-
アクセスからエクセルのプロシ...
-
【マクロ】webアドレスにて指定...
おすすめ情報