一开始,偶定义了一个打印机对象:
DIM Printer1 AS Printer
然后就开始使用了:
...
With Printer1
   .NewDoc    '没记错的话应该是这个开始吧,但是我的VB上居然跳不出着个方法
   .CurrentX = ...
   .CurrentY = ...   '
   .Print "..."   '等等,这个方法我也没有记错吧,可还是跳不出来
   .EndDoc        '可笑的是这个方法却能跳出来
End With
...郁闷中...
明天就要做打印功能测试,居然卡在这里了,无语中...

解决方案 »

  1.   

    我的printer.后面有很多东东,哈哈直接用printer. 就行了如果不行的话,很有可能你没安装打印机驱动程序,或根本没有打印机???!!!!
      

  2.   

    或者不管它,试试输入 .endoc (小写) 看看它会不会自动转成首字大写,如果会应该可以运行,又可能是你的vb设置里面不要自动提示。
      

  3.   

    不要用with printer ......end with
      

  4.   

    试过了,不用WITH PRINTER1
    还是不行.
      

  5.   

    VB里面的printer有时很邪门,没道理可讲。
    我的经验是:正如stlyl(stlyl(维生素B))说的,VB的printer有时他就是不能用with,只能老实地采用 printer.方法(或属性)才不会出错。
    我的推测是:比方讲 printer.print 与其说是方法调用,还不如说是vb这种语言固定的语句。
    再比如讲:你要获得printer的hdc,如果在此之前没有对printer的任何调用的话,那你得不到你想要的,正确的方法是:
    printer.print " "
    h=printer.hdc
    事实就是这样的,没有办法。
      

  6.   

    TO 楼上的
    事实上是,连printer.print这个方法都出不来
      

  7.   

    printer.print不出来,但是print会变大写,变蓝吧,那就能用,NewDoc就不能变大写变蓝
      

  8.   

    对不要用WITH 直接使用.
     测试通过
        Printer.CurrentX = 0
        Printer.CurrentY = 100
        Printer.Print "中国人民解放了." & Printer.Page   '等等,这个方法我也没有记错吧,可还是跳不出来
        Printer.NewPage
        Printer.CurrentX = 0
        Printer.CurrentY = 100
        Printer.Print "中国人民解放了." & Printer.Page   '等等,这个方法我也没有记错吧,可还是跳不出来
        Printer.EndDoc        '可笑的是这个方法却能跳出来
      

  9.   

    这样好像可以的
    Private Sub Command1_Click()
        Dim op As Object
        Set Printer = Printers(cmbPrinterName.ListIndex)
        Set op = Printer
        
        With op
         .CurrentX = 0
         .CurrentY = 100
         .CurrentX = 100
         .CurrentY = 500
         
        End With
        op.Print "I love you" & Printer.Page
        Printer.EndDoc
    End SubPrivate Sub Form_Load()
        Dim i As Long
        For i = 0 To Printers.Count - 1
            cmbPrinterName.AddItem Printers(i).DeviceName
            If Printers(i).DeviceName = Printer.DeviceName Then cmbPrinterName.ListIndex = i
        Next i
    End Sub
      

  10.   

    .Print "..."   '等等,这个方法我也没有记错吧,可还是跳不出来
    ==========================================================
    VB内置的对象的,很多不能自动弹出Print方法
    比如form,picturebox都不可以,但是可以直接用?代替
      

  11.   

    印象中.newpage……
    .enddoc是配对使用的
      

  12.   

    一开始,偶定义了一个打印机对象:
    DIM Printer1 AS Printer '但我不知道你是否给Printer1创建实例,如set Printer1=printer
    然后就开始使用了:
    ...
    With Printer1
       .NewDoc    '好像是newpage
       .CurrentX = ...
       .CurrentY = ...   '
       .Print "..."   '等等,这个方法我也没有记错吧,可还是跳不出来
       .EndDoc        '可笑的是这个方法却能跳出来
    End With
    ...
    有些虚拟打印机会有一些莫名其妙的问题,如Xchang pdf
    你用真实打印机试
      

  13.   

    终于解决了,翻了以前的程序(6年前写的)
    发现居然不需要定义PRINTER对象,而是直接就拿来用.
    也就是说,我前面的程序只要去掉那个
    DIM PRINTER1 AS PRINTER
    后面直接用PRINTER对象就可以操作打印了.
    哎,真是折腾.