В Excel есть метод PrintOut
, который печатает материал. Он принимает имя принтера в качестве параметра, и это имя принтера - это не только имя системного принтера, но и комбинация имени системного принтера и порта, к которому подключен принтер.Excel: Как получить имя, не зависящее от языкового стандарта?
.PrintOut ActivePrinter:="MyPrinter" & " on " & "Ne00:"
Если вы указали только системное имя, Excel не найдет его и не распечатает.
Отметьте, что " on "
шт. Это фактическое английское слово «on», которое делает «имя принтера Excel» удобным для человека.
Проблема в том, что эта небольшая часть отличается от каждой локализованной версии Excel. Поэтому код, который хочет составить истинное имя «excel printer name», должен включать огромный switch
, где все возможные локали Excel будут перечислены с соответствующим переводом «on». У меня даже нет такого списка. Но я хотел бы получить его или услышать о способе выяснить эту штуку на лету. Свойство Application.International
, кажется, не содержит ответа.
Я знаю, как получить порт принтера. Этот парень делает это неправильно, кстати. Правильным способом, по соображениям совместимости, является использование функции GetProfileString. Но мой вопрос касается разных проблем. – GSerg
Извините, я неправильно понял вопрос. –