以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [建议]狐表数据应用:增加邮件合并类功能  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=5655)

--  作者:xl
--  发布时间:2009/12/26 10:43:00
--  [建议]狐表数据应用:增加邮件合并类功能
既然狐表能用EXCEL报表,能否增加类WORD的邮件合并功能?-----以方便数据合并到文档中,进行批量打印成绩通知、制作获奖证书等。       一般说来:仅需“数据源”、“插入字段”、“合并到文档”就足够了,若是邮件性质还需增辐“邮箱地址”,“邮件主题”。
--  作者:bjljb
--  发布时间:2009/12/26 11:33:00
--  
这个问题易表早就解决了,而且比Word的邮件合并功能好用得多!
Foxtable是这样解决的:
 

关于文章套打

RtfPrinter类用于文章套打。
文章的类型必须是RTF格式,常用的文字处理软件,例如Word,都可以将文章保存为RTF格式。

打印一篇文章的代码非常简单:

Dim rp As New RtfPrinter("c:\\Data\\report.rtf")
rp.Preview()

上面的代码是预览,如果要直接打印,代码为:

Dim rp As New RtfPrinter("c:\\Data\\report.rtf")
rp.Print()

显然,我们的目的是套打,套打的原理非常简单,我们在编辑文章的时候,可以在文章中插入一些特殊的标记,然后利用RtfPrinterReplace方法,将这些标记替换为数据。
例如你在文章中插入了一个特殊的标记"{Today}",希望套打的时候,能够将这个标记替换为当天的日期:

Dim rp As New RtfPrinter("c:\\Data\\report.rtf")
rp
.Replace("{Today}", Date.Today)
rp
.Preview()

虽然你可以使用任何字符作为标记,但是我们推荐您用大括号加上说明字符作为标记,以便于维护。

另一种套打的方法更为简单,你只须指定RtfPrinter要套打的DataRow,即可自动替换文章中类似“[列名]”的内容替换为实际的值:

Dim rp As New RtfPrinter("c:\\Data\\report.rtf")
rp.
DataRow = Tables("
订单").Current.DataRow \'套打订单表的选定行.
rp
.Replace("{Today}", Date.Today)
rp.Preview()

可以看出,文章套打非常的简单,我们就不提供具体的示例了。

因为Excel报表的兼容性更好、取数更方便、功能更强大,更便于生成各种复杂的报表,所以在某种程度上来说,文章套打是一个鸡肋,只是为了满足一些特殊的需要。