一台电脑连多个打印机,怎么让程序寻找名位'aa'的打印机打印,找不到就报错,而不是用默认打印机工作

解决方案 »

  1.   

    如何在程序中更改预设的打印机?在上一个单元中,我们使用 Printer 物件来取得机器中预设打印机的机型、驱动程序及连接端口,那是否可以更改预设打印机呢?可以的,不过除了 Printer 物件之外,这次我们要多用一个 Printers 集合物件!先来看一段程序码:Private Sub Form_Load()
    '利用 Printers 集合物件取得所有打印机
    For i = 0 To Printers.Count - 1
    '在 Combo1 中依序加入打印机名称
    Combo1.AddItem Printers(i).DeviceName
    Next
    '将目前的预设打印机放在 Combo1.Text 中
    Combo1.Text = Printer.DeviceName
    End SubPrivate Sub Command1_Click()
    '未选择
    If Combo1.ListIndex = -1 Then
    MsgBox "打印机未更改,请先选择打印机!"
    Exit Sub
    End If
    '使用者选定之打印机设定为预设打印机
    Set Printer = Printers(Combo1.listindex)
    End Sub
    在这一段程序中,我们在 Form_Load 中先利用 Printers 集合物件找出所有的打印机名称,放在 Combo1 中,记得 Combo1 不可将 Sorted 设成 True,这样子的话,Combo1 的索引值 (Index) 便会和 Printers 集合物件的索引值 (Index) 相同!使用者在 Combo1 中选定打印机后,在 Command1_Click 中,我们便可以将 Combo1 的索引值带入Printers 集合物件的索引值,重新设定新的预设打印机。这样子的设定只有在程序中有效,程序结束后,预设打印机会恢复成原来的预设打印机!