以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  自动选择WORD模板  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=138068)

--  作者:nbsugu_z
--  发布时间:2019/7/22 12:33:00
--  自动选择WORD模板

Dim v As String = "正在生成格式合同,请按""确定""开始后稍等几秒钟..."""

MessageBox.Show(v)


Dim tm As String  = ProjectPath & "Attachments\\租房合同样本.doc" \'指定模板文件

Dim fl1 As String = ProjectPath & "Reports\\租房合同样本.doc" \'指定目标文件

Dim fl2 As String = ProjectPath & "Reports\\租房合同样本.pdf" \'指定目标PDF文件

Dim wrt As New WordReport(Tables("合同明细"),tm,fl1) \'定义一个WordReport

wrt.Build() \'逐行生成报表

wrt.SaveToPDF(fl2) \'保存为PDF文件

wrt.Quit() \'退出

Dim Proc As New Process \'打开PDF文件

Proc.File = fl2

Proc.Start


请教一下,如果“租房合同样本”有多个,想用自动选择,在“合同明细”表中有A和B的标志列。

同时满足当前记录A列和B列的值,去自动引用模板。模板名称如果是"X1租房合同样本X2格式.doc"这X1和X2如何用通配符实现?X1和X2是A列和B列的值(字符型)

问一下下面三行代码如何写?

Dim tm As String  = ProjectPath & "Attachments\\租房合同样本.doc" \'指定模板文件

Dim fl1 As String = ProjectPath & "Reports\\租房合同样本.doc" \'指定目标文件

Dim fl2 As String = ProjectPath & "Reports\\租房合同样本.pdf" \'指定目标PDF文件


--  作者:有点蓝
--  发布时间:2019/7/22 14:27:00
--  
分开2段代码

Tables("合同明细").filter = “满足当前记录A列和B列的值
打印第一个格式的代码

Tables("合同明细").filter = “另外一个条件
打印第二个格式的代码


--  作者:nbsugu_z
--  发布时间:2019/7/23 8:41:00
--  
老师,可能我表达不清楚,不是这样的。我要的是模板名称的动态合成代码。
如:表A中的第一列 第二列 第三列中当前行的值为变量,进行模板名称合成。
  模板名称是第一列值&第二列值&第三列值&租房合同.doc
  比如,第一列值是”个人”
     第二列值是”办公”
     第三列值是“车位”
  合成结果是:个人办公车位租房合同.doc 
 我就不知道一楼的代码如何修改才能动态合成

--  作者:有点蓝
--  发布时间:2019/7/23 9:46:00
--  
如果只打印一行数据,这样:
dim r as row = Tables("合同明细").current
Dim tm As String  = ProjectPath & "Attachments\\" & r("第一列") & r("第二列") &  r("第三列")  & "租房合同样本.doc"