我要做一个复杂报表,用vb的data report试来试去没法实现,但用print倒是可以写一个简单的代码实现,但那个print好像只是在窗体上显示用的。不知有没有什么命令可以象print显示一样打印在纸张上?请教请教!

解决方案 »

  1.   

    假设窗体是Form1
    Form1.PrintForm或者是使用printer是默认打印机
      

  2.   

    printer.print "呵呵,打印到A4纸上了!!"
    当然,必须确保打印机工作正常。
    if printers.count>0 then
       '有可用打印机
    else
       '没有可用的打印机
    end if
      

  3.   

    不妨试一下,利用VBA,通过Excel来做辅助实现复杂的打印!
      

  4.   

    用printer对象,再复杂的报表都能打印出来。只是代码量大,并不难。
    例如:
       dim Prin as printer
       Prin.print "标题"
    可以将"标题"打印在A4纸上,当然你可以设定打印的位置等。
      

  5.   

    如果我是想将picture控件的图象打印到A4纸上该怎么办啊,是不是需要用scale先定义一下纸张大小啊?
      

  6.   

    Printer.Scale
        Printer.ScaleX
        Printer.ScaleY
      

  7.   

    谢谢各位大侠的指点!
    但我的vb6没有printer.print这个属性啊!大侠们有没有更正确的方法?
    继续请教啊!谢谢!
      

  8.   

    强行手工写Printer.Print "aaa"
    就可以了
    如果有问题,用commondialog.showprinter设置正确的打印机
      

  9.   

    打印picturebox里的图象可以用下边的语句试试,具体要不要设定printer的scale也可以自己试试看 
    Printer.PaintPicture pictname.Image, 0, 0
     Printer.EndDoc
      

  10.   

    '打印机设置---------------------------------
        Printer.Orientation = vbPRORPortrait '1 纵向  2 横向
        Printer.PrintQuality = vbPRPQHigh    '高质量打印
        Printer.PaperSize = vbPRPSA4         '设置为A4纸
        Printer.ScaleLeft = 0: Printer.ScaleTop = 0
        Printer.ScaleWidth = Printer.Width
        Printer.ScaleHeight = Printer.Height