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

Categories:

Tags:

Comments are closed