博客摘录「 VBA打印机设置(列出所有打印机名字、选用合适的打印机并设计端口号)」2023年6月13日

此VBA代码示例用于查看和设置打印机端口,枚举连接的打印机,以及更改默认打印机。它还展示了如何打印工作表并等待一段时间以避免打印冲突。特别地,`PrinterDemo()`子程序列出所有打印机及其端口,`Printer()`子程序用于打印指定范围的单元格,而`t()`子程序用于设置MicrosoftPrinttoPDF的端口号。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

'查看打印机
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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Flynn。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值