|
各位大侠, 大家好!
如题, 在使用代码指定打印机和纸张打印特定报表时, 如何做到不预览而直接打印?
代码如下:
'按设定的打印机\纸张\边距 打印报表
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对像好像没有相应的方法来控制民
谢谢各位!
|
|