Неправильный принтер CurrentX и CurrentY
Около 10 лет назад следующий код мог вывести "Test" точно в x=0 и y=0.
Но я не знаю, почему в (Windows Xp Sp3) x=0 равно x=10, а y = 0 равно y=10!
Устройство принтера еще не изменилось!
Может кто-нибудь мне помочь?
Printer.ScaleMode = vbMillimeters
Printer.FontName = "Times New Roman"
Printer.FontSize = 7
Printer.FontBold = False
Printer.Orientation = 2
Printer.RightToLeft = False
Printer.FontItalic = False
Printer.CurrentX = 0
Printer.CurrentY = 0
Printer.Print "Test"
Printer.EndDoc
2 ответа
Решение
Я нашел ответ сам.
Просто измените (Буква) на (А4) В (Настройки принтера) в вашей операционной системе...
Посмотрите на изображение, которое я прикрепил к сообщению:
Я думаю, что 10 лет назад вы использовали другой принтер. За очень немногими исключениями, у принтеров есть непечатаемая область на краю бумаги. Для большинства лазеров это около 5 мм, но некоторые принтеры имеют большие поля печати.
Обычно Windows пытается печатать только в области печати принтера. Вот откуда берутся ваши 10 мм: ваш принтер имеет поля в 10 мм