Foxtable(狐表)用户栏目专家坐堂 → word报表如何实现一次打印一份,自动打印?


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

主题:word报表如何实现一次打印一份,自动打印?

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


加好友 发短信
等级:一尾狐 帖子:419 积分:4442 威望:0 精华:0 注册:2012/3/7 23:19:00
word报表如何实现一次打印一份,自动打印?  发帖心情 Post By:2014/12/16 10:09:00 [只看该作者]

请问打印多行数据时,如何只读取一行数据,生成文档后自动打印,再继续读取下一行,循环打印?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/16 10:11:00 [只看该作者]

 要用代码处理。

 

 http://www.foxtable.com/help/topics/2890.htm

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/16 10:12:00 [只看该作者]

 打印word的代码

 

Dim app As New MSWord.Application
try
    Dim fileName = "e:\test.doc"
    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


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


加好友 发短信
等级:一尾狐 帖子:419 积分:4442 威望:0 精华:0 注册:2012/3/7 23:19:00
  发帖心情 Post By:2014/12/16 10:40:00 [只看该作者]

甜甜同志,打印时会弹出提示,文件被锁定无法编辑,点确定后才行,能不能屏蔽掉这个提示呢?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/16 10:42:00 [只看该作者]

 弹出什么提示,我测试没问题。

 

Dim app As New MSWord.Application
try
    Dim fileName = "d:\Test.doc"
    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


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


加好友 发短信
等级:一尾狐 帖子:419 积分:4442 威望:0 精华:0 注册:2012/3/7 23:19:00
  发帖心情 Post By:2014/12/16 10:55:00 [只看该作者]

图片点击可在新窗口打开查看


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


加好友 发短信
等级:一尾狐 帖子:419 积分:4442 威望:0 精华:0 注册:2012/3/7 23:19:00
  发帖心情 Post By:2014/12/16 10:57:00 [只看该作者]

Dim flt As String
Dim tb As Table = e.Form.Controls("table1").Table
For Each xh As Row In Tb.Rows 
    Dim tm As String  = ProjectPath & "Attachments\委托加工合同A.doc" '指定模板文件
    Dim fl As String = ProjectPath & "Reports\委托加工合同A.doc" '指定目标文件
    Dim wrt As New WordReport(tb,tm,fl) '定义一个WordReport
    wrt.Buildone(xh)
    Dim app As New MSWord.Application
    try
        '  Dim fileName = "e:\test.doc"
        app.Documents.Open(fl)
        'app.Documents(fileName).PrintPreview
        'app.Visible = True
        app.Documents(fl).PrintOut '打印
    catch ex As exception
        msgbox(ex.message)
    finally
        app.Quit
    End try
Next
[此贴子已经被作者于2014-12-16 10:57:39编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/16 10:57:00 [只看该作者]

 生成报表的时候,不要执行 wrt.Show() '显示报表

 

 然后,直接打印报表即可。


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


加好友 发短信
等级:一尾狐 帖子:419 积分:4442 威望:0 精华:0 注册:2012/3/7 23:19:00
  发帖心情 Post By:2014/12/16 12:27:00 [只看该作者]

还是请老师帮忙检查下代码有没有问题吧,搞不定
Dim flt As String
Dim tb As Table = e.Form.Controls("table1").Table
For Each xh As Row In Tb.Rows
    If flt Is Nothing Then
        flt = "编号 = '" & xh("编号") & "'"
    Else
        flt = flt & " or 编号 = '" & xh("编号") & "'"
    End If
Next
If flt IsNot Nothing Then
    Dim jh As List(of DataRow) = DataTables("商品资料").Select(flt,"序号")
    If jh.Count > 0 Then
        Dim tm As String  = ProjectPath & "Attachments\委托加工合同A.doc" '指定模板文件
        Dim fl As String = ProjectPath & "Reports\委托加工合同A.doc" '指定目标文件
        Dim wrt As New WordReport(Tables("商品资料"),tm,fl) '定义一个WordReport
        For Each dy As DataRow In jh
            wrt.Buildone(dy)
            Dim app As New MSWord.Application
            try
                'Dim fileName = "e:\test.doc"
                app.Documents.Open(fl)
                'app.Documents(fileName).PrintPreview
                'app.Visible = True
                app.Documents(fl).PrintOut '打印
            catch ex As exception
                msgbox(ex.message)
            finally
                app.Quit
            End try
        Next
    End If
End If

问题1:会弹出上面发的图提示
问题2:表格中的数据无法读出,还是模板中设定的模样

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


加好友 发短信
等级:一尾狐 帖子:419 积分:4442 威望:0 精华:0 注册:2012/3/7 23:19:00
  发帖心情 Post By:2014/12/16 14:14:00 [只看该作者]

顶一顶,有人在吗?

 回到顶部
总数 12 1 2 下一页