假设Printer.Width=10000:Printer.Height=10000
Printer.CurrentX过大的话就会在另一页打印,CurrentY也一样
怎样保证全部在同一页打印,小弟没辙了。

解决方案 »

  1.   

    CurrentX與CurrentY的值范圍,與定義的打印紙張也有關。
      

  2.   

    Printer.PaperSize 设置打印机纸张类型,比如:Printer.PaperSize = vbPRPSA4 设置为A4纸
    printer.Orientation 设置打印方向,比如:printer.Orientation = vbPRORLandscape 为横向打印
    Printer.ScaleMode 设置坐标单位,比如:Printer.ScaleMode = vbMillimeters 坐标单位为毫米,然后Printer.currentX=100 就是从距纸张的左边100毫米的位置开始打印不管什么纸都有长度和宽度的限制,比如A4纸就是297*210毫米,如果是纵向打印currentX超出了210毫米,或者CurrentX加上打印的内容的宽度超过了210毫米,那自然是要打印到另一页上的。解决办法只能是打印了一定内容后通过CurrentX、CurrentY重新定位打印的起始位置再继续打印后续内容,简单的说就是得自己实现换行。
      

  3.   

    关键是currenty即使没超过纸张的长度,(只差一点)也会出现另外一页打印。
    是不是在纸张的长度范围内也有一个范围值是能打印出来的,超过这个范围也会另页打印,
    那这个范围值是多少呢?