Office:マージされた結果を個別のドキュメントに分割する
こんにちは、
50のデータレコードがある定型書簡から結合された、結合されたレターの結果ドキュメント(letters1など)を取得し、50ページのそのドキュメントを50の個別のドキュメントに分割します.
できれば、50の個別のドキュメントのそれぞれに、それぞれのファイル名の固定テキストと可変テキストの両方で自動的に名前を付けます.(ファイル名の固定テキスト部分は、定型書簡と可変テキスト部分
ファイル名は、それぞれのドキュメントに表示される差し込みフィールドから取得されます)
ご協力ありがとうございます...
クレイグ
返信リスト(回答:10)
Word MVPSによって提供されたものであなたを助けるためにいくつかの無料のユーティリティがあります.
https://onedrive.live.com/?cid= 5aedcb43615e886b... https://www.gmayor.com/indiviveual_merge_letters.htm.
-
これらは、1つ以上の信頼できる単語MVP Webサイト上のページへのリンクです.これらのページには、私が助けると思う正確な安全な情報が含まれています.
-
このフォーラムはユーザー間サポートフォーラムです.私は仲間のユーザーです.
この情報が役立つことを願っています.
この投稿に返信することで、より多くのヘルプを求めることができます(下の返信ボタン).
アーカイブからファイルを抽出し、以下を読みます:
「READ ME – Merge Tools Add-in.pdfのセットアップと使用
さまざまなツールをインストールして使用する方法を確認します.これらのツールを使用すると、「そのまま」の差し込み印刷では実行できない次の種類の差し込みを実行できます.
●添付ファイル付きまたは添付ファイルなしの電子メールメッセージにマージします.マージによって作成されたドキュメントは、WordまたはPDFの添付ファイルとして、または電子メールメッセージの本文として送信されます.
●WordまたはPDF形式の個々のドキュメントにマージします.ファイル名は、データソースのいずれかのフィールドのデータによって提供されます
●多対1タイプの差し込み印刷.これは、いずれかのフィールドに共通のデータを持つ複数のレコードがデータソースにある請求書などのドキュメントを作成するために使用できます.
●データソースの各レコードに固有のグラフを含むドキュメントにマージする
●ドキュメントをコンテンツコントロールとマージする
●従来のFormFieldを含むドキュメントを結合する
●二重結合
●データソースの各レコードから作成された出力を照合してホチキス止めするプリンターにマージします.
システムを使用するための要件は次のとおりです.
●差し込み印刷のメインドキュメントはレタータイプである必要がありますが、これは、関連する出力を電子メールメッセージとして送信できないことを意味するものではありません.
●多対1、添付ファイル付きのマージ、および個々のドキュメントへのマージユーティリティの場合、データソースは、Accessデータベースのtableまたはクエリ、またはExcelワークシートとそのワークシートの形式のいずれかです.
は、Excelブックの最初のシートでなければなりません.データが他のシートにある場合、シートタブをクリックして左にドラッグすることにより、そのシートを簡単に移動して、ブックの最初のシートにすることができます.Chart Mergeユーティリティについては、
そのユーティリティで使用するデータソースの追加要件については、Merge ToolsアドインZipファイルに含まれているMails with Chartsドキュメントのマージ
●Excelワークシートの形式のデータソースの場合、フィールド名はワークシートの最初の行にある必要があり、列の範囲内にあるその行のすべてのセルにフィールド名が必要です.
データを含む.
●どちらのタイプのデータソースでも、フィールド名に使用できるのは英数字のみ(@、#、$、%、&、(、)など)で、フィールド名の先頭に数字(0-9).文字数
スペースを含むフィールド名は40以下にする必要があります
応答2# ->にスキップ5 #CraigBrダグ...私はあなたがあなたの投稿で言及したものと同じだと私が信じるチャールズを送ったというリンクを見ました、そしてzipファイルをダウンロードしました...私は今それを調査しています.
私はまた他のアプローチを調査しています.
私は私のクライアントの要求でこの自動化をしているので、いくつかのことを説明しなければならないでしょう...私があなたのアプローチを使うならば、私があなたのアプローチを使うならば貢献をすることは可能ですか?その後、貢献を要求するプロンプトを持ってください
私のクライアントに送る前に離陸しましたか?ありがとう
クレイグ
これを行う最良の方法は、差し込み印刷で個別のドキュメントを直接作成することです.マージ後の出力の分割は不十分です.どちらかのアプローチを実装するVBAコードについては、以下を参照してください.
•差し込み印刷の出力を個々のファイルに送信します.そして
•結合された出力を個別のドキュメントに分割、
Mailmerge Tips and Tricksスレッド:
https://www.msOfficeforums.com/mail-merge/21803-mailmerge-tips-tricks.html
最初のこれらの中には、WordドキュメントやPDFとして生成される出力を使用して、プロセスをユーザーにとって完全にシームレスにする方法も示されています.
応答3# ->にスキップ6 #CraigBrどうもありがとう...私はこれらのリンクを調査し、それが私のPCでどのように動作するかを確認します...クライアントからの要求に応じてこれを実行しているので、これがすべてどのように動作するかが明確であれば、マクロを彼に送信できます最初...
応答3# ->にスキップ7 #CraigBrこんにちは、
差し込み印刷マクロを実行してドキュメントに差し込みましたが、動作しているようですが、処理中に50件のデータレコードを処理して50件のドキュメントに次のようなアラートを表示します:
「WINWord.EXEは
onedrive
からダウンロードしています(詳細は設定の自動ダウンロードで確認してください)」...「ダウンロードが完了しました」と表示されたら続行します.しかし、少しの間、同じことを言っています...全員にではありません...50のドキュメントがマージされたため、約8または9回発生し、全体の速度が低下しました.クライアント(ちなみに、
onedrive
があるかどうかはわかりません)差し込み印刷を行うときに通常は表示されませんが、このマクロの実行時に表示され始め、クライアントにマクロを送信する前にそれを回避する方法を知りました.
ありがとうございました
クレイグ
応答7# ->にスキップ9 #macropo 1これは、出力を
onedrive
に直接送信しようとしていることを示しており、レイテンシの問題があります.ただし、ファイルをローカルに保存する場合は問題ありません.そうは言っても、次のコードを挿入することでその警告を隠すことができるかもしれません:Application.DisplayAlerts=wdAlertsNone
before:
For i=1 To.DataSource.RecordCount
と挿入:
Application.DisplayAlerts=wdAlertsAll
after:
Next iただし、
onedrive
がメッセージを生成している場合は効果がないと思います.√
応答9# ->にスキップ10 #CraigBrありがとう
フォローアップの質問:私のクライアントは実際にマージするために実際に300以上のデータレコードを持っていて、オフィス365を持っています.
それでは、どのようにローカルに保存するのですか?マクロコードを変更して、ローカルフォルダに保存をリダイレクトするか、ローカルフォルダ内のフォームレターを開始するフォームレターを持ち、
ONEDRIVE
実行中にもマクロに保存しますか?または他のマクロ(マージ後にドキュメントを分割するもの)がそれをより速く実行させると思いますか...私はそれが問題にならないと仮定します.問題はそれが文書を保存している場所です.
上記のコメントをありがとうございました