Code:
Printer.ScaleMode = vbInches
width = Printer.ScaleWidth
height = Printer.ScaleHeight
Gives width & height in inches. For centimeters -

Printer.ScaleMode = vbCentimeters

This works for the current default printer. If the user changes printers, then the values have to be queried again.

Edit --- I'd do better to read your question first...

Code:
noPrintWidth = (Printer.Width - Printer.ScaleWidth) / 2
noPrintHeight = (Printer.Height - Printer.ScaleHeight) / 2
' assuming the printable area is centered this gives the 
' no print band on each each