Die AcPrintPaperSize Enumeration zur Auswahl der Papiergröße bzw. des Papierformats beim Drucken einen Berichtes (Reports) in Access VBA enthält bereits ca. 40 Größen.
Viele fehlen, zum Beispiel A6. Mit der folgenden Funktion können undokumentierte Papierformate aus einem Bericht nach deren Einstellung mit „Seite einrichten“ abgefragt werden.
A6 ergibt hier die PaperSize = 70.
Function getPrinterPaperSize(strReport$) As Long
Dim objRpt As Report
DoCmd.OpenReport strReport, acViewPreview ' , , , acHidden
Set objRpt = Reports(strReport)
getPrinterPaperSize = objRpt.Printer.PaperSize
DoCmd.Close acReport, strReport, acSaveNo
End Function
Mit dieser Funktion lassen sich individuelle Papiergrößen in einem Bericht speichern
Function setPrinterPaperSize(strReport$, intPaperSize As Integer) As Long
Dim objRpt As Report
DoCmd.OpenReport strReport, acViewPreview ' , , , acHidden
Set objRpt = Reports(strReport)
With objRpt.Printer
.PaperSize = intPaperSize ' AcPrintPaperSize
' .Orientation = acPRORLandscape
End With
DoCmd.Close acReport, strReport, acSaveYes
End Function
Comments are closed