Foxtable(狐表)用户栏目专家坐堂 → 我一份文件要打印5份分别给5个人,如何分别加入5个人的姓名一次性打印呢?


  共有3820人关注过本帖树形打印复制链接

主题:我一份文件要打印5份分别给5个人,如何分别加入5个人的姓名一次性打印呢?

帅哥哟,离线,有人找我吗?
我的碗里有个晋晋
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:7 积分:128 威望:0 精华:0 注册:2019/12/15 13:25:00
我一份文件要打印5份分别给5个人,如何分别加入5个人的姓名一次性打印呢?  发帖心情 Post By:2019/12/16 0:38:00 [只看该作者]

我一份文件要打印5份分别给五个人,如何分别加入5个人的姓名一次性打印呢?
我的打印信息和模板已做好,但是要根据我多选的人名分别打出包含对应人名的文件,该如何操作呢?

[此贴子已经被作者于2019/12/16 0:38:50编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110582 积分:562806 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/16 8:40:00 [只看该作者]

比如:http://www.foxtable.com/webhelp/topics/1145.htm

for i as integer = 0 to tables("表A").rows.count
    tables("表A").position = i
    Dim Book As New XLS.Book(ProjectPath & "Attachments\出库单.xls")
    Dim fl As String = ProjectPath & "Reports\" & tables("表A").rows(i)("姓名") & ".xls"
    Book.Build() '生成细节区
    Book.Save(fl) '保存工作簿
    Dim Proc As New Process '打开工作簿
    Proc.File = fl
    Proc.Start()
next

 回到顶部
帅哥哟,离线,有人找我吗?
我的碗里有个晋晋
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:7 积分:128 威望:0 精华:0 注册:2019/12/15 13:25:00
  发帖心情 Post By:2019/12/17 14:03:00 [只看该作者]

谢谢大佬指点。我看了您的回复后学习了不少,有点不同的是我想的是在一行列表里设置个复选框,通过复选人名设定该行信息打印总份数和设置每份文件打印送给的对象,我看了您的回复后,自己试着写了下:
Dim nms As String = Tables("总表").Rows(2)("抄送人")
Output.Show(nms)
Dim nm() As String = nms.Split(",")
Output.Show (nm(0))
Dim tm As String  = ProjectPath & "Attachments\批抄打印.doc" '指定模板文件
Dim fl As String = ProjectPath & "Reports\批抄打印.doc" '指定目标文件
Dim wrt As New WordReport(Tables("总表"),tm,fl)
For i As Integer = 0 To nm.Length - 1
    Output.Show (i)
    wrt.Replace("[抄送人]",nm(i) ) '替换模板中的抄送标记
   Next
wrt.Show() '显示报表

这代码有几个问题想请教下,一是我想打印选定行,该怎么写?二是我在命令窗口下方的显示栏中看到"i"循环了0,1,2三次,但生成的显示报表只有nm(0)的这个抄送人的word,没有将抄送其它人的word生成出来是为什么?

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110582 积分:562806 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/17 14:29:00 [只看该作者]

生成的都是同一个内容的word,只是保存为不同名称?那还不如生成一份文件,然后在复制几份好了:http://www.foxtable.com/webhelp/topics/0342.htm

 回到顶部