Printer.PrintableRect Property (Publisher)
Returns a PrintableRect object that represents the printer sheet area within which the specified printer will print. Read-only.
Version Information
Version Added: Publisher 2007
Syntax
expression .PrintableRect
expression A variable that represents a Printer object.
Return Value
PrintableRect
Remarks
The printable rectangle is determined by the printer based on the sheet size specified. The printable rectangle of the printer sheet should not be confused with the area within the margins of the publication page. The printable rectangle might be larger or smaller than the publication page.
Note
When the printer sheet and the publication page size are identical, the publication page is centered on the printer sheet and none of the printer's marks print, even if they are selected.
Example
The following Microsoft Visual Basic for Applications (VBA) macro shows how to use the PrintableRect property to get the boundaries of the printable rectangle for the printer sheet of the active printer.
Public Sub PrintableRect_Example()
Dim pubInstalledPrinters As Publisher.InstalledPrinters
Dim pubApplication As Publisher.Application
Dim pubPrinter As Publisher.Printer
Set pubApplication = ThisDocument.Application
Set pubInstalledPrinters = pubApplication.InstalledPrinters
For Each pubPrinter In pubInstalledPrinters
If pubPrinter.IsActivePrinter Then
With pubPrinter.PrintableRect
Debug.Print "Printable area is " & PointsToInches(.Width) & " by " & PointsToInches(.Height) & " inches."
Debug.Print "Left Boundary: " & PointsToInches(.Left) & " inches (from left)."
Debug.Print "Right Boundary: " & PointsToInches(.Left + .Width) & " inches (from left)."
Debug.Print "Top Boundary: " & PointsToInches(.Top) & " inches(from top)."
Debug.Print "Bottom Boundary: " & PointsToInches(.Top + .Height) & " inches (from top)."
End With
End If
Next
End Sub