VBA通过唯一标识符使用打印机



我正在编写一个需要打印的访问表单。由于我没有在与将要使用它的计算机相同的计算机上开发表单,因此我无法确定打印机名称是否相同以及它是否是标准打印机。我的第一次尝试是列出所有使用Application.Printers打印机。

问题是我在设备名称或任何标识正确打印机的内容中找不到模式。是否有任何明智的尝试,例如使用MAC地址或打印机的IP?

非网络打印机没有唯一标识符。但是,组合打印机名称 + 计算机名称应该是唯一的。

对于联网打印机,可以尝试使用 .Port 属性来标识特定打印机。但是,此属性是可配置的,并且是一个字符串。

如果要获取特定打印机的 IP 地址,则必须使用EnumPorts函数 (MSDN( 获取可用端口及其关联的 IP 地址。由于这是一个C++功能,因此这并不容易。然后,使用 .Port 属性,可以确定使用该端口的打印机。

最新更新