这里是几个我整理的打印函数,比较实用:
Sub InitPrint()         '这个函数用来初试化打印机,请最先调用
Printer.Orientation = 2    '设置为横向打印,改为1就是纵向了
Printer.ScaleMode = 6          '设定单位为毫米
Printer.ScaleLeft = 30     '设置左边界
Printer.ScaleTop = 30          '设置上边界
Printer.ScaleHeight = 300   '设置高度
Printer.ScaleWidth = 200    '设置宽度
End SubSub PrintStr(ByVal X As Long, ByVal Y As Long, ByVal Fntsize As Integer, ByVal Str As String)     '这个函数用来在指定位置用指定的字体大小打印指定的字符串
Printer.CurrentX = X          '指定X坐标
Printer.CurrentY = Y          '指定Y坐标
Printer.FontSize = Fntsize    '指定字体大小
Printer.Print Str             '打印字符串
End SubPrinter.Line (X1, Y1)-(X2, Y2) '这个是Printer对象自带的方法,可以打印一条线Printer.PaintPicture  '这也是Printer对象自带的方法,可以在指定位置打印图片
PaintPicture这个方法的参数可以参考一下MSDN,比较多,我这里就不说了。当你调用这些函数和方法之后,最后还需要用:
Printer.EndDoc 这个方法来将你的最终结果打印到纸上,如果不用这个语句,你的打印机是不会打印的。关于图形打印,我到目前之用到了PaintPicture,希望这方面有经验的朋友拿出更多更好的方法来。在我的PrintStr函数中没有将字体封装进去,各位有兴趣的朋友可以自己加进去。也请将代码附上,我有意将此贴提交FAQ的。

解决方案 »

  1.   

    我知道都有,但是大家不觉得MSDN上的例程都是乱哄哄的吗?而且每次从“请参阅”里面再翻来翻去的,影响阅读效果,我并非在创新什么,而是要整理一下,给需要的朋友一个方便。
      

  2.   

    关键是搞一个在win98/nt/2k/xp下都可以控制纸型/自定义纸型的函数
    头疼阿,msdn上面关于2k下添加纸型的文章,添加可以但是打印的时候而且只要设定了printer的打印方向,根本就不按照自定义的打印,永远是用默认纸型。
    微软估计提倡无纸化办公,打印都做的这么乱七八糟
      

  3.   

    非常好!!!大家幫忙看以下問題---楼主的跟贴问题???http://community.csdn.net/Expert/topic/3171/3171032.xml?temp=.3838465
      

  4.   

    楼上的BelieveCom(皓月長空)朋友说的对,我这里正好是缺少一些关于报表打印的内容,大家一起来出力哦!!
      

  5.   

    printer对象和利用winAPI设置打印机都是一样的吗?有没有区别?
    对纸张类型的控制,各位高手有没有办法啊?