printer对象,可以选择你需要的打印机

解决方案 »

  1.   

    printer对象有个TrackDefault属性,但是它是要先改变默认的打印机才改变当前打印机,而我需要的是通过改变当前打印机来改变默认的打印机,刚好相反。其他的属性好象都和这个无关?
    请问到底该怎么做呢?API函数是哪一个?
      

  2.   

    取得打印机:
    If Printers.Count < 1 Then
        MsgBox "系统没有安装打印机!", vbCritical, App.Title
        Unload Me
        Exit Sub
    End If
    Dim Prnts As Printer
    For Each Prnts In Printers
        List1.AddItem Prnts.DeviceName
    Next
    List1.ListIndex = 0设定默认打印机:
    Set Printer = Printers(List1.ListIndex)
      

  3.   

    怎么都比我早发啊!大哥
      Dim x As Printer
        For Each x In Printers
        If x.Orientation = vbPRORPortrait Then
            '设定为系统缺省打印机。
            Set Printer = x
            ' 终止查找打印机。
            Exit For
        End If
        Next
      

  4.   

    不是未解决吧?用这个看一下:
    Private Sub Form_Load()
        Dim I As Integer
        
        For I = 0 To Printers.Count - 1
            Combo1.AddItem Printers(I).DeviceName
        Next
        Combo1.Text = Printer.DeviceName
    End SubPrivate Sub Combo1_Click()
        Set Printer = Printers(Combo1.ListIndex)
    End Sub