Wie kann ich eine Userform mit VBA vollständig ausdrucken?

Wie kann ich mit VBA-Code dafür sorgen, dass eine Userform in voller Größe gedruckt wird?

Uhr
Um eine Userform in voller Größe ausdrucken zu können, muss der Code angepasst werden. Der standardmäßige Befehl "PrintForm" druckt nur den sichtbaren Bereich der Userform aus, nicht aber den gesamten Inhalt. Um die Userform komplett auszudrucken, können folgende Schritte befolgt werden:

1. Stelle sicher, dass die ScrollBar-Eigenschaften der Userform korrekt eingestellt sind. Setze die ScrollTop-Eigenschaft auf 0 und die ScrollBars-Eigenschaft auf "fmScrollBarsNone". Dadurch wird sichergestellt – dass der gesamte Inhalt der Userform angezeigt wird.

2. Speichere die ursprüngliche Höhe und Breite der Userform in Variablen. Verwende die Height- und Width-Eigenschaften der Userform um die aktuelle Größe der Userform zu ermitteln und speichere sie in Variablen.

```
Me.ScrollTop = 0
Me.ScrollBars = fmScrollBarsNone
frmHeight = Me.Height
frmWidth = Me.Width
```

3. Passe die Höhe und Breite der Userform temporär an die Druckgröße an. Setze die Height- und Width-Eigenschaften der Userform auf die gewünschte Druckgröße (z.B. 900 x 600). Dies stellt sicher – dass der gesamte Inhalt der Userform beim Drucken erfasst wird.

```
Me.Height = 900
Me.Width = 600
```

4. Drucke die Userform mit dem Befehl "PrintForm".

```
Me.PrintForm
```

5. Stelle die ursprünglichen Dimensionen der Userform wieder her. Setze die ScrollBars-Eigenschaft zurück auf "fmScrollBarsVertical" und die Höhe und Breite der Userform auf die ursprünglichen Werte die zuvor gespeichert wurden.

```
Me.ScrollBars = fmScrollBarsVertical
Me.Height = frmHeight
Me.Width = frmWidth
```

Durch diese Schritte wird die gesamte Userform in voller Größe gedruckt, ohne dass der Anwender zusätzliche Schritte unternehmen muss. Beachte jedoch – dass die Druckqualität von der Druckereinstellung und den verwendeten Papierformaten abhängt. Es kann sein; dass der ausgedruckte Inhalt je nach 🖨️ und Druckereinstellung geringfügig skaliert oder beschnitten wird.






Anzeige