Я нашел ответ сам.
Просто измените (Буква) на (А4) В (Настройки принтера) в вашей операционной системе ...
Посмотрите на изображение, которое я прикрепил к сообщению:
Около 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
Я думаю, что 10 лет назад вы были с помощью другого принтера. За очень немногими исключениями, у принтеров есть непечатаемая область на краю бумаги. Для большинства лазеров это около 5 мм, но некоторые принтеры имеют большие поля печати.
Обычно Windows пытается печатать только в области печати принтера. Вот откуда берутся ваши 10 мм: ваш принтер имеет поля в 10 мм