When I'm working on a document, I often want to finish editing a page, print it, check it, and then print another page. But the Print dialog box always appears with the All option selected in the Page Range group box.
With a short macro (see Example 8-12), you can make the Print dialog box appear with the Current Page option, the Pages option, or the Selection option selected instead. If you select the Pages option, you can specify the range of pages to print, as in the example.
Macro to display the Print dialog box with print options preselected
Sub Display_Print_Dialog_Custom() With Dialogs(wdDialogFilePrint) .Range = wdPrintRangeOfPages .Pages = "3,5,7-11" If .Show = -1 Then .Execute End With End Sub
With statement works with the
wdDialogFilePrint member of the
Dialogs collectionin other words, the Print dialog box. The commands inside the
With statement control the options selected:
To select the Current Page option, use this statement:
.Range = wdPrintCurrentPage
To select the Pages option and specify a simple range of pages, use these statements, substituting suitable numbers on the
.Range = wdPrintFromTo .From = "2" .To = "4"
To select the Pages option and specify a complex range of pages, use these statements, substituting suitable numbers on the
.Range = wdPrintRangeOfPages .Pages = "3,5,7-11"
Show method displays the dialog box and returns a value for the button the user clicks. If the value is
-1, which indicates that the user clicked the OK button, the
Execute command executes the instructions contained in the dialog box. If the user clicks the Cancel button, VBA does not execute the instructions.