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.