Papierformat/Größe mit Makro für 1 Seite optimal einstellen

platypus66

Grünschnabel
Hallo zusammen, ich verzweifele gerade an folgendem Problem:

Ich möchte über ein VBA-Makro in Excel den Zoom-Faktor so einstellen, dass der Druckbereich genau auf eine Seite ausfüllt. Das Auslesen, wie viele Seiten es aktuell sind, habe ich über Excel4makro "anzahl = ExecuteExcel4Macro("GET.DOCUMENT(50)")" bereits gelöst.

Wenn ich jetzt aber den Zoomfaktor über eine Schleife verändere, aktualisiert sich der über das Excel4makro ausgelesen Wert einfach nicht. Der einzige Weg, der bisher funktioniert hat, ist die Seitenvorschau über "ActiveWindow.SelectedSheets.PrintPreview" aufzurufen. Danach liefert die Funktion endlich ein aktualisiertes Ergebnis.

Leider ist es mit bisher nicht gelungen, die Seitenvorschau auch durch das Makro wieder zu schließen. Ich sitze also vor dem Rechner und drücke jedes Mal "ESC", damit sich die Vorschau wieder schließt und das Makro weiterläuft (dabei komme ich mir übrigens ziemlich blöd vor).

Hat jemand eine Idee, wie ich diesen Vorgang automatisieren kann ?

Ich habe auch schon versucht, die Seitenzahl mit "HPageBreaks.Count" und "VPageBreaks.Count" zu analysieren, aber hier tritt genau das gleiche Problem auf. Egal wie ich dem Zoom-Faktor verändere, das Ergebnis der aktuellen Anzahl von Seitenumbrüchen ändert sich nicht.

Grüße
Stefan