Moin Wer-Weiss-Wasser,
folgende Situation:
In einem Programm erzeuge ich eine mehrzeilige Textdatei.
Diese soll vom Programm selbst auf den Drucker gegeben werden.
Dafür wähle ich einen Drucker aus, mache ihn zum „Printer“-Objekt, und stelle seine Eigenschaften ein:
Printer.ScaleMode = vbCentimeters
HorizontalMargin = (21 - Printer.ScaleWidth) / 2
VerticalMargin = (29.7 - Printer.ScaleHeight) / 2
HorizontalMargin = 1 + HorizontalMargin
VerticalMargin = 1.5 + VerticalMargin
Printer.Print "";
Printer.FontName = "Courier New"
Printer.FontSize = 6
Printer.FontBold = False
Printer.FontItalic = False
Printer.FontUnderline = False
Printer.FontStrikethru = False
Printer.ForeColor = RGB(0, 0, 0)
Printer.CurrentX = HorizontalMargin
Printer.CurrentY = VerticalMargin
Printer.Print StringDerDenTextEnthält
Printer.EndDoc
Jetzt ist es so, daß mein Programm die erste Zeile genau positioniert, wie ich es angegeben habe, ausdruckt.
Aber alle folgenden werden direkt an den Seiten-Rand geschrieben.
Gibt es eine Möglichkeit den Linken Abstand dauerhaft zu setzen?
Ansonsten müßte ich den String nach jedem Zeilenumbruch trennen und wieder die x-Koordinate setzen (Was mir nicht recht wäre; denn das löst nicht das Problem, wenn eine Zeile zu lang für den Drucker wird und er sie umbricht…
Danke im Voraus,
Tom