Machen wir uns dran, den Ausdruck unserer Aufgaben noch etwas zu verbessern. Wir ändern dazu die Schriftart und einige Schriftattribute:
Private Sub mnuDrucken_Click()
mnuDrucken.Checked = Not mnuDrucken.Checked
If mnuDrucken.Checked Then
Printer.Font.Name = "Comic Sans MS" 'Schriftart auswählen
Printer.Font.Bold = True 'fett einschalten
Printer.Font.Underline = True 'Unterstreichen einschalten
Printer.Font.Size = 20 'setzt die Schriftgröße auf 20
Printer.Print vbTab & "Mathe-Max" & vbCrLf
Printer.Font.Underline = False 'Unterstreichen ausschalten
Printer.Font.Size = 16 'setzt Schriftgröße auf 16
Printer.Font.Italic = True 'kursiv einschalten
Printer.Font.Bold = False 'fett ausschalten
Printer.Print vbTab & "Richtig gelöste Rechenaufgaben:" & vbCrLf
Printer.Font.Size = 20 'setzt Schriftgröße auf 20
Printer.Font.Italic = False 'kursiv ausschalten
Else
Printer.EndDoc
End If
End Sub
Hinweis: Damit dieses Beispiel funktioniert, muß auf Eurem Rechner natürlich die Schriftart "Comic Sans MS" installiert sein, sonst kommt unweigerlich eine Fehlermeldung. Ihr könnt das Beispiel natürlich auch mit jeder anderen Schriftart ausprobieren.
Wie man sieht, ist eine ganze Reihe von Befehlen nötig, nur um ein paar Zeilen zu verschönern. Das läßt sich kaum anders machen, aber etwas übersichtlicher geht es doch. Anstatt in jeder Zeile erneut das Printer-Font-Objekt aufzuführen, reicht es, wenn wir das Objekt je einmal erwähnen und dann nur noch die Eigenschaften angeben, die geändert werden sollen. Wir nutzen dazu die "With"-Konstruktion:
With Printer.Font
.Name = "Comic Sans MS" 'Schriftart auswählen
.Bold = True 'fett einschalten
.Underline = True 'Unterstreichen einschalten
.Size = 20 'setzt die Schriftgröße auf 20
End With
Printer.Print vbTab & "Mathe-Max" & vbCrLf
With Printer.Font
.Underline = False 'Unterstreichen ausschalten
.Size = 16 'setzt Schriftgröße auf 16
.Italic = True 'kursiv einschalten
.Bold = False 'fett ausschalten
End With
Printer.Print vbTab & "Richtig gelöste Rechenaufgaben:" & vbCrLf
With Printer.Font
.Size = 20 'setzt Schriftgröße auf 20
.Italic = False 'kursiv ausschalten
End With
Das sieht jetzt etwas strukturierter aus, hat aber genau die gleiche Wirkung. Das Objekt, das hinter "With" aufgeführt ist, wird in den nachfolgenden Zeilen bei der Ausführung automatisch eingesetzt, bis ein "End With" auftaucht.
Innerhalb einer With-Konstruktion dürfen jedoch auch andere Befehle stehen. Solange die Zeile nicht mit einem Punkt beginnt, erwartet der Compiler hier keine Eigenschaft des Objekts, sondern führt sie normal aus. Wir können uns also einige Zeilen sparen:
With Printer.Font
.Name = "Comic Sans MS" 'Schriftart auswählen
.Bold = True 'fett einschalten
.Underline = True 'Unterstreichen einschalten
.Size = 20 'setzt die Schriftgröße auf 20
Printer.Print vbTab & "Mathe-Max" & vbCrLf
.Underline = False 'Unterstreichen ausschalten
.Size = 16 'setzt Schriftgröße auf 16
.Italic = True 'kursiv einschalten
.Bold = False 'fett ausschalten
Printer.Print vbTab & "Richtig gelöste Rechenaufgaben:" & vbCrLf
.Size = 20 'setzt Schriftgröße auf 20
.Italic = False 'kursiv ausschalten
End With
Auch dies führt zum gleichen Ergebnis. Es bleibt uns überlassen, was wir übersichtlicher finden.
Natürlich läßt sich unser Ausdruck noch weiter verschönern, aber dies soll hier zur Demonstration erstmal genügen.
© Copyright 1998-2000 J.Behling
Weitergabe und Druck (auch in Teilen, mit Ausnahme von Privatgebrauch) ohne ausdrückliche Genehmigung der Autorin untersagt.