VBA打印机设置(列出所有打印机名字、选用合适的打印机并设计端口号)

'查看打印机
Sub PrinterDemo()
    Dim WshNetwork As Object
    Dim oPrinter As Object
    Dim i As Long
    Set WshNetwork = CreateObject("WScript.Network")
    Set oPrinter = WshNetwork.EnumPrinterConnections
    For i = 0 To oPrinter.Count - 1
        If i Mod 2 = 0 Then
            Debug.Print "端口:" & vbTab & oPrinter(i)
        Else
            Debug.Print "名字:" & vbTab & oPrinter(i) & vbNewLine
        End If
    Next i
    Debug.Print "默认打印机:" & Application.ActivePrinter  '按照输出的形式设定需要的打印机
    '运行“Regedit”后查找“PrinterPorts”,即可看到每个打印机对应的端口信息。
    '如果点击查找后没有看到,则按F3查找下一个(可能有很多个PrinterPorts)
End Sub
Sub Printer()
    Dim i As Long
    Application.ActivePrinter = "TOSHIBA e-STUDIO2823AMSeries GDI 在 Ne01:"
    For i = 1 To Worksheets.Count
        Worksheets(i).Range("A1:I58").PrintOut from:=1, to:=1
        Application.Wait Now + TimeValue("00:00:10")
    Next i
' 打印
End Sub


'设置打印机端口号
Sub t()
    On Error GoTo myerror
    Dim i As Long
    i = 0
    Do While True
        Application.ActivePrinter = "Microsoft Print to PDF 在 Ne0" & i & ":"
        Exit Do
myerror:
        Resume nextLoop
nextLoop:
        i = i + 1
    Loop
    Debug.Print "正确的打印机为:" & "Microsoft Print to PDF 在 Ne0" & i & ":"
End Sub

版权声明:本文为piao3701原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。