VBA 打印机和打印机对象需要安装参考库吗?

问题描述 投票:0回答:1

我对 Excel VBA 中的打印机对象和打印机对象有疑问。在使用 Pinter 和 Printers 对象之前,是否需要在 Tool->Reference 中安装任何参考库?

我运行下面的代码,并在第

For Each prt In Printers
行收到错误“需要对象”。打印机对象是空的,
prt
-对象什么也没有。

Sub ListPrinters()
    Dim prt As Printer
    For Each prt In Printers
        Debug.Print Prt.deviceName
    Next prt
End Sub

我尝试在“工具”->“参考”菜单中添加参考库,但找不到任何有关打印机或打印机的参考。

excel vba reference printers
1个回答
0
投票

Application.Printers
不存在于 Excel 或 Word 中,它仅存在于 Access 中(未检查 Powerpoint 或任何其他 MS 应用程序)。

替代方法是使用 Windows Scripting Host 的方法

EnumPrinterConnections

Sub ListPrinters2()
    Dim i As Long
    With CreateObject("WScript.Network")
        For i = 1 To .EnumPrinterConnections.Count Step 2
          Debug.Print .EnumPrinterConnections(i)
        Next
    End With
End Sub

使用

Step 2
时,循环可能看起来有点奇怪。原因是每台打印机在列表中都有 2 个条目,第一个获取端口,第二个获取打印机名称。

© www.soinside.com 2019 - 2024. All rights reserved.