Private Sub Command1_Click() Dim prt As Printer For Each prt In Printers If prt.DeviceName = "aaa" Then prt.Print "123" ElseIf prt.DeviceName = "bbb" Then prt.Print "345" End If Next End Sub
Printers(index)Printers 集合可用来查询可用的打印机,这样就可以为应用程序指定一台缺省打印机。例如也许要找出哪些可用打印机用了指定的打印驱动程序。下面的代码查找所有的可用打印机,定位在第一个将页码方向设置为纵向的打印机,然后将其设置为 Portrait。Dim X As Printer For Each X In Printers If X.Orientation = vbPRORPortrait Then '设定为系统缺省打印机。 Set Printer = X ' 终止查找打印机。 Exit For End If Next用 Set 语句指定 Printers 集合中的某一打印机为缺省打印机。前面的示例指定由对象变量 X 标识的打印机为应用程序的缺省打印机。注意 如果用 Printers 集合来确定某一特定打印机,如 Printers(3),则只能访问只读属性。如果想访问个别打印机的可读写属性,那么首先要使那个打印机成为应用程序的缺省打印机。
open "usb001" for output as #1 printer.print close #1 open "usb002" for output as #2 printer.print close #2
5楼的代码没试过 我自己用的方法正好是1楼和3楼的合并: SUB SELECTPRINTER(BYVAL PRINTERNAME AS STRING) DIM PRT AS PRINTER For Each PRT IN PRINTERS IF PRT.DEVICENAME = PRINTERNAME THEN Set PRINTER = PRT Exit For End If Next END SUB 假设你的电脑上有打印机:PRT001和PRT002 你可以用SELECTPRINTER "PRT001" 和 SELECTPRINTER "PRT002" 来分别选择这两个打印机 当然,你也可以先用一个循环将本机所有打印机添加到一个COMBO控件里供用户选择: SUB LISTPRINTERS() DIM PRT AS PRINTER FOR EACH PRT IN PRINTERS COMBO1.ADDITEM PRT.DEVICENAME NEXT END SUB 这样的话,只要这样调用: SELECTPRINTER COMBO1.TEXT 就可以选择打印机了
Dim prt As Printer
For Each prt In Printers
If prt.DeviceName = "aaa" Then
prt.Print "123"
ElseIf prt.DeviceName = "bbb" Then
prt.Print "345"
End If
Next
End Sub
For Each X In Printers
If X.Orientation = vbPRORPortrait Then
'设定为系统缺省打印机。
Set Printer = X
' 终止查找打印机。
Exit For
End If
Next用 Set 语句指定 Printers 集合中的某一打印机为缺省打印机。前面的示例指定由对象变量 X 标识的打印机为应用程序的缺省打印机。注意 如果用 Printers 集合来确定某一特定打印机,如 Printers(3),则只能访问只读属性。如果想访问个别打印机的可读写属性,那么首先要使那个打印机成为应用程序的缺省打印机。
printer.print
close #1
open "usb002" for output as #2
printer.print
close #2
我自己用的方法正好是1楼和3楼的合并:
SUB SELECTPRINTER(BYVAL PRINTERNAME AS STRING)
DIM PRT AS PRINTER
For Each PRT IN PRINTERS
IF PRT.DEVICENAME = PRINTERNAME THEN
Set PRINTER = PRT
Exit For
End If
Next
END SUB
假设你的电脑上有打印机:PRT001和PRT002
你可以用SELECTPRINTER "PRT001"
和 SELECTPRINTER "PRT002"
来分别选择这两个打印机
当然,你也可以先用一个循环将本机所有打印机添加到一个COMBO控件里供用户选择:
SUB LISTPRINTERS()
DIM PRT AS PRINTER
FOR EACH PRT IN PRINTERS
COMBO1.ADDITEM PRT.DEVICENAME
NEXT
END SUB
这样的话,只要这样调用:
SELECTPRINTER COMBO1.TEXT
就可以选择打印机了