我的打印程序怎么不行. 各位請看.
Public Sub printfile()
On Error GoTo error2
    CommonDialog1.DialogTitle = "Please choose print!"
    CommonDialog1.ShowPrinter
    If CommonDialog1.CancelError = False Then
        Form1.PrintForm
    End If
    Exit Sub
error2:
    If CommonDialog1.CancelError = True Then
        MsgBox "Print fail!"
    Else
        MsgBox "Can't find printer"
    End If
End Sub

解决方案 »

  1.   

    按“取消”可以打印:CancelError 属性
          返回或设置一个值,该值指示当选取“取消”按钮时是否出错。语法object.CancelError [= boolean]CancelError 属性语法有下列部分:部分 描述 
    object 对象表达式,其值是“应用于”列表中的对象。 
    boolean 布尔表达式,如“设置值”中所描述,用以指示是否出错。 
    设置值用于 boolean 的设置有:设置值 描述 
    True 有错。 
    False (缺省值)没错。 
    说明当该属性设置为 True 时,无论何时选取“取消”按钮,均产生 32755 (cdlCancel) 号错误。数据类型Boolean
      

  2.   

    其实,如果单纯打印窗体,直接调用其PrintForm方法即可。如果要设置打印选项,才有必要用ShowPrinter显示设置窗体。
      

  3.   

    if printers.count>0 then '判断是否有打印机
        form1.printform
    end if
      

  4.   

    Public Sub printfile()
    On Error GoTo error2
        CommonDialog1.DialogTitle = "Please choose print!"
        CommonDialog1.ShowPrinter
        If CommonDialog1.CancelError = False Then
            Form1.PrintForm
        End If
        Exit Sub
    error2:
        If CommonDialog1.CancelError = True Then
            MsgBox "Print fail!"
        Else
            MsgBox "Can't find printer"
        End If
    End Sub
    //
    你应该调用啊,在你要打印的地方
    call printfile