检索已安装的打印机列表

使用 Application 对象的 Printer 属性返回打印机集合。

下面的过程说明如何通过使用 For Each…Next 语句来枚举 Printers 集合中的每个 Printer 对象。 将显示一个消息框,其中包含有关每个已安装的打印机的信息。

Sub ShowPrinters() 
    Dim strCount As String 
    Dim strMsg As String 
    Dim prtLoop As Printer 
     
    On Error GoTo ShowPrinters_Err 
 
    If Printers.Count > 0 Then 
        ' Get count of installed printers. 
        strMsg = "Printers installed: " & Printers.Count & vbCrLf & vbCrLf 
     
        ' Enumerate printer system properties. 
        For Each prtLoop In Application.Printers 
            With prtLoop 
                strMsg = strMsg _ 
                    & "Device name: " & .DeviceName & vbCrLf _ 
                    & "Driver name: " & .DriverName & vbCrLf _ 
                    & "Port: " & .Port & vbCrLf & vbCrLf 
            End With 
        Next prtLoop 
     
    Else 
        strMsg = "No printers are installed." 
    End If 
     
    ' Display printer information. 
    MsgBox Prompt:=strMsg, Buttons:=vbOKOnly, Title:="Installed Printers" 
     
ShowPrinters_End: 
    Exit Sub 
     
ShowPrinters_Err: 
    MsgBox Prompt:=Err.Description, Buttons:=vbCritical & vbOKOnly, _ 
        Title:="Error Number " & Err.Number & " Occurred" 
    Resume ShowPrinters_End 
     
End Sub

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。