我有一个定制系统,产生两个数据源(即2个csv文件):一个具有基本标题信息。对于客户和另一个与客户交易。所有在同一个文件中的唯一客户参考号。
是否可以设置邮件合并,以便Word为每个客户端生成一个字母,其中包含一个带有事务行的字母表?具有事务的表将包含来自另一个数据源(csv文件)的数据,如上所述。
谢谢
如果将事务文件保存为Excel工作簿,则很可能 - 如果具有基本标头信息的文件包含至少一个在事务文件中找到的字段。该解决方案需要一些字段编码(编程)来实现:
首先,创建一个Word mailmerge主文档,并使用基本标题信息将其连接到该文件。
其次,在mailmerge主文档中创建一个DATABASE字段,编码方式如下:
{DATABASE \d "{FILENAME \p}/../Transactions.xlsx" \s "SELECT [TransDate], [TransID], [TransAmt] FROM [Transactions$] WHERE [ClientID] = {MERGEFIELD ClientID} ORDER BY [InvoiceDate]" \l "9" \b "47" \h}
其中'ClientID'是在基本标题和事务文件中找到的字段,[Transactions $]中的'Transactions'是工作表名称。
一旦您正确完成设置,您的合并应该能够为每个客户生成一个字母,其中包含一个显示相关交易的表格。
有关此方法的更详细讨论,请访问:https://answers.microsoft.com/en-us/msoffice/forum/msoffice_word-mso_winother-mso_2010/mail-merge-to-a-word-table-on-a-single-page/4edb4654-27e0-47d2-bd5f-8642e46fa103。有关工作示例,请参阅:http://www.msofficeforums.com/mail-merge/37844-mail-merge-using-one-excel-file-multiple.html
注意:以上示例的字段大括号对(即“{}”)都是在文档本身中创建的,通过Ctrl-F9(在Mac上使用Cmd-F9,或者,如果您使用的是笔记本电脑,则可能需要使用Ctrl-Fn-F9);您不能简单地键入它们或从此消息中复制和粘贴它们。通过任何标准的Word对话添加它们也不实际。字段结构中表示的空格都是必需的。