是这样的,需要以 A3 Transverse 420 x 297 mm 这样的纸张类型来打印报表,但尝试1下午都没能成功,通过打印机设置没有效果,通过改属性也不行(不知道该纸张对应的PaperSize是多少呀,汗),请各位高手支招,主要目的就是实现该纸张类型的纵向打印,先谢谢先!

解决方案 »

  1.   

    Select Case Rptpapertype
               Case "B5"
                   rdt.PaperSize = crPaperB5
               Case "A4"
                   rdt.PaperSize = crPaperA4
               Case "A3"
                   rdt.PaperSize = crPaperA3
               Case "A5"
                   rdt.PaperSize = crPaperA5
               Case "B4"
                   rdt.PaperSize = crPaperB4
               Case Else
                   rdt.PaperSize = crPaperA4
        End Select上面是一些纸张的值,希望能帮到楼主
      

  2.   

    多谢两位的指点..只是..1.我有在打印机中设置,但是不管怎么设置VB里的Printer对象的PaperSize及Height、Width属性都没有改变..即是没有与打印设置同步的样子..2.需要打印的纸张类型是 A3 Transverse 420 x 297 mm 那种可以装订的穿孔纸..与A3高宽正好相反..但VB里没支持该纸张类型..再次谢谢两位的解答..
      

  3.   

    Printer.PaperSize = vbPRPSA3  '设置纸张类型为A3
            Printer.Orientation = 2  '设置纸张为横向
      

  4.   

    http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/Q282/4/74.asp&NoWebContent=1,参考一下人家微软的做法吧
      

  5.   

    谢谢 nfugxf(深夜星蓝) 的回答,那样会改变打印方向,我有试过,不是想要的结果谢谢 wwqna(york) 的回答,瞧了瞧好像很复杂的样子,这次由于情况紧急,得另外用笨方法先了谢谢 badboy168(坏小子) 的回答,驱动应该没错的,比如用EXCEL能正确实现,主要是似乎VB的Printer对象未与系统中的打印机设置同步的样子谢谢大家!!