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

时间:2018-03-22 08:17:45

标签: vba printing access-vba

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

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

1 个答案:

答案 0 :(得分:1)

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

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

如果要获取某台打印机的IP地址,则必须使用EnumPorts功能(MSDN)来获取可用端口及其关联的IP地址。由于这是一个C ++函数,这并不容易。然后,使用.Port属性,您可以识别正在使用该端口的打印机。