Excel:如何获取与区域设置无关的打印机名称?

时间:2010-01-27 17:28:18

标签: excel excel-2003 excel-vba printing localization vba

Excel中有一个PrintOut方法可以打印内容。 它接受打印机名称作为参数,该打印机名称不仅是系统打印机名称,而且是打印机连接的系统打印机名称和端口的组合。

.PrintOut ActivePrinter:="MyPrinter" & " on " & "Ne00:"

如果您只提供系统名称,Excel将无法找到它,也不会打印。

请注意," on "位于中间位置。实际的英文单词“on”使得“excel打印机名称”对人类友好。

问题是,这个小部分在每个本地化版本的Excel上都有所不同。因此,想要撰写真正的“excel打印机名称”的代码需要包含一个巨大的switch,其中列出所有可能的Excel语言环境,并带有相应的“on”翻译。我甚至没有这样的名单。但我想拥有它,或者想要了解如何在飞行中弄清楚这件作品。 Application.International属性似乎不包含答案。

2 个答案:

答案 0 :(得分:0)

这个人使用

的注册表项

\ HKEY_CURRENT_USER \ Software \ Microsoft \ Windows NT \ CurrentVersion \ Devices \

http://www.dailydoseofexcel.com/archives/2008/04/05/getting-the-printer-port/

答案 1 :(得分:0)

您可以先阅读ActivePrinter属性。它将根据语言环境返回字符串。有了字符串后,就可以使用确切的“ on”版本了!