Foxtable(狐表)用户栏目专家坐堂 → [求助]紧急:如何批量打印直接打印word报表,不预览


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

主题:[求助]紧急:如何批量打印直接打印word报表,不预览

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


加好友 发短信
等级:童狐 帖子:267 积分:2574 威望:0 精华:0 注册:2008/11/9 18:30:00
[求助]紧急:如何批量打印直接打印word报表,不预览  发帖心情 Post By:2015/9/9 12:36:00 [只看该作者]

紧急:如何批量打印直接打印word报表,不预览;按照选择的行,批量直接打印word报表

Dim tm As String  = ProjectPath & "Attachments\人员简历表.doc" '指定模板文件
With Tables("员工资料")
    If .TopPosition > -1 Then '如果选定区域包括数据行
        For i As Integer = .TopPosition To .BottomPosition
            Dim r As Row = .Rows(i)
            Dim fileName As String = ProjectPath & "Reports\"& r("姓名") &".doc" '指定目标文件
            Dim wrt As New WordReport(Tables("员工资料"),tm,fileName) '定义一个WordReport
            wrt.BuildOne(r)
            Dim app As New MSWord.Application
            try
                app.Documents.Open(fileName)
                'app.Documents(fileName).PrintPreview
                'app.Visible = True
                app.Documents(fileName).PrintOut '打印
            catch ex As exception
                msgbox(ex.message)
            finally
                app.Quit
            End try
        Next
    End If
End With
[此贴子已经被作者于2015/9/9 13:18:48编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/9 14:10:00 [只看该作者]

Dim tm As String  = ProjectPath & "Attachments\人员简历表.doc" '指定模板文件
With Tables("员工资料")
    If .TopPosition > -1 Then '如果选定区域包括数据行
        For i As Integer = .TopPosition To .BottomPosition
            Dim r As Row = .Rows(i)
            Dim fileName As String = ProjectPath & "Reports\"& r("姓名") &".doc" '指定目标文件
            Dim wrt As New WordReport(Tables("员工资料"),tm,fileName) '定义一个WordReport
            wrt.BuildOne(r)
            wrt.Print
            wrt.quit
        Next
    End If
End With

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


加好友 发短信
等级:童狐 帖子:267 积分:2574 威望:0 精华:0 注册:2008/11/9 18:30:00
  发帖心情 Post By:2015/9/9 16:56:00 [只看该作者]

非常感谢,还有一个问题,上边代码如何改动,让批量导出word报表,而不用预览也不用打印?

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/9 17:54:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
machle
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:358 积分:4035 威望:0 精华:0 注册:2014/7/29 23:42:00
回复:(大红袍)Dim tm As String  = ProjectPa...  发帖心情 Post By:2015/10/18 9:24:00 [只看该作者]

我用这段代码,该怎么选定表里的数据呢?

我现在有2000多条数据,每条数据100个字段,用这段代码得不到数据。不知道怎么回事。

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/10/18 10:27:00 [只看该作者]

回复5楼,4楼的代码要执行,先选中要打印的数据。

 

如果全部打印这样写

 

Dim tm As String  = ProjectPath & "Attachments\人员简历表.doc" '指定模板文件
For Each r As DataRow In DataTables("员工资料").Select("")
    Dim fileName As String = ProjectPath & "Reports\"& r("姓名") &".doc" '指定目标文件
    Dim wrt As New WordReport(Tables("员工资料"),tm,fileName) '定义一个WordReport
    wrt.BuildOne(r)
    wrt.Print
    wrt.quit
Next


 回到顶部