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

Posted

技术标签:

【中文标题】VBA 通过唯一标识符使用打印机【英文标题】:VBA Use Printer via unique identifier 【发布时间】:2018-03-22 08:17:45 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

以上是关于VBA 通过唯一标识符使用打印机的主要内容,如果未能解决你的问题,请参考以下文章

能够唯一标识某一控件的属性的是啥

如何获取Android唯一标识

通过唯一标识符组合查询结果的行?

通过同步帐户使用不同计算机时 Outlook 中的唯一约会标识符

通过 PHP 对移动设备进行唯一但持续的标识

关于IOS的唯一标识总结