设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2080|回复: 2
打印 上一主题 下一主题

[报表] (求助)用代码打印报表时, 怎样做到不预览而直接打印

[复制链接]
跳转到指定楼层
1#
发表于 2014-4-20 20:17:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位大侠, 大家好!

如题, 在使用代码指定打印机和纸张打印特定报表时, 如何做到不预览而直接打印?

代码如下:

'按设定的打印机\纸张\边距 打印报表
Public clnClient As New Collection

Public Sub XSD(ReportName As String)
    Dim Rpt As Report, PrintID As Integer, PaperID As Integer
   
    '取得保存在表中的打印机ID和纸张ID
    PrintID = Nz(DLookup("[setValue]", "BL", "[bl]='PrintID'"), 0)
    PaperID = Nz(DLookup("[setValue]", "BL", "[bl]='PaperID'"), 0)
   
    '默认打印机
    If PrintID <> 1000 Then
        If PrintID < Application.Printers.Count Then '设定的打印ID不能越界
            Set Application.Printer = Application.Printers(PrintID)
        End If
    End If
    Set Rpt = New Report_XSD   '报表的类对象的一个实例
   
    With Rpt.Printer
        .TopMargin = 0    '6mm的边距(1cm=567缇)
        .BottomMargin = 0
        .LeftMargin = 0
        .RightMargin = 0
        '设定的纸张
        
        If PaperID <> 1000 Then
            .PaperSize = PaperID
        End If
        .Orientation = 1
        .Copies = 1
        '.ColorMode=acPRCMColor(彩色)acPRCMMonochrome(单色)
    End With
    clnClient.Add Item:=Rpt, Key:=CStr(Rpt.hWnd)
    Rpt.Visible = True
End Sub


上面的代码中, 可以将报表Report_XSD  用指定的打印和纸张进行打印, 但是执行代码后, 出现的是打印预览,  我想要做到不预览而直接打印出来, 请问各位有什么好方法.

查过Printe对像好像没有相应的方法来控制民

谢谢各位!


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2014-4-22 10:33:42 | 只看该作者
请知道的朋友指点一下,谢谢
3#
 楼主| 发表于 2014-4-25 16:45:02 | 只看该作者
用别的办法来实现吧,要么是不能指定打印机和纸张,要么就是总跳出预览界面(虽然已经打开报表时为隐藏和直接打印)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-7 23:57 , Processed in 0.095264 second(s), 26 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表