Printing Variable Pages
'PgPrt2 = PgPrt1 + 5
'Application.PrintOut FileName:="", Range:=wdPrintFromTo, Copies:= _
1, From:="PgPrt1", To:="PgPrt2"
'
' DraftInternals Macro
'
'
Dim PgPrt1
Dim PgPrt2
'-
' Print the Min/Max - works for draft only - other projects you may get to many sheets
Application.PrintOut FileName:="", Range:=wdPrintRangeOfPages, Item:= _
wdPrintDocumentContent, Copies:=1, Pages:="2-8", PageType:= _
wdPrintAllPages, ManualDuplexPrint:=False, Collate:=True, Background:= _
True, PrintToFile:=False, PrintZoomColumn:=0, PrintZoomRow:=0, _
PrintZoomPaperWidth:=0, PrintZoomPaperHeight:=0
Selection.Find.ClearFormatting
'
' Find the W5WW indicator for the start of the 5 & 6 records
With Selection.Find
.Text = "w5ww"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute
'-
' Move back 1 page - only works for draft - most projects do not need to move back a page
' then print that page and do this a few more times to get all 5 & 6 Pages
Selection.GoTo What:=wdGoToPage, Which:=wdGoToPrevious 'page 1
ActiveDocument.PrintOut Range:=wdPrintCurrentPage
ActiveDocument.PrintOut Range:=wdPrintCurrentPage
Selection.GoTo What:=wdGoToPage, Which:=wdGoToNext 'page 3
ActiveDocument.PrintOut Range:=wdPrintCurrentPage
Selection.GoTo What:=wdGoToPage, Which:=wdGoToNext 'page 4
ActiveDocument.PrintOut Range:=wdPrintCurrentPage
ActiveDocument.PrintOut Range:=wdPrintCurrentPage
Selection.GoTo What:=wdGoToPage, Which:=wdGoToNext 'page 6
ActiveDocument.PrintOut Range:=wdPrintCurrentPage
'-
'PgPrt1 = Val(ActiveDocument.ActiveWindow.Panes(1).Pages(1).Breaks(1).PageIndex)
'ActiveDocument.ActiveWindow.Panes(1).Pages (1)
'PgPrt1 = PgPrt1 - 1
'PgPrt2 = PgPrt1 + 5
'Application.PrintOut FileName:="", Range:=wdPrintFromTo, Copies:= _
1, From:="PgPrt1", To:="PgPrt2"
Selection.Find.ClearFormatting
End Sub

