das Zählen der zu druckenden Seiten ist ein altes Thema, ich weiß. In meinem VBA-Programm werden mehrere Worksheets gemeinsam ausgedruckt, wobei der User auswählen kann, welche. Dafür wird die Anzahl der Druckseiten ermittelt und bei sehr vielen Seiten der User gefragt, ob er wirklich drucken will. Für das Zählen setze ich die folgende Function ein:
Private Function PrintPagesCount(ByRef wss As Variant) As Integer
Dim anz As Double, i As Integer, act As Worksheet
Set act = ActiveSheet
Application.ScreenUpdating = false
For i = 0 To UBound(wss)
Worksheets(wss(i)).Select
anz = anz + ExecuteExcel4Macro("Get.document(50)")
Next
act.Activate
Application.ScreenUpdating = true
PrintPagesCount = CInt(anz)
End Function
wss ist dabei ein Array mit den Namen der Worksheets.Das hat auch alles gut funktioniert bis vor Kurzem. Plötzlich sind nach dem Zählen alle Buttons auf den betroffenen Seiten riesengroß und ich habe garnichts am VBA geändert! Nicht nur die Buttons, sondern auch deren Anpacker sind riesengroß (sh. Screenshot). Am ScreenUpdating liegt's nicht habe ich natürlich schon ausprobiert. Liegt das möglicherweise daran, dass Excel4-Macros nicht mehr ganz »kompatibel« sind? Oder hat jemand von Euch eine andere Idee?
Viele Grüße
Frank
Screenshots (File-Upload hat nicht funktioniert):