9 - 2002
Листинг 4
Sub Спуск_полос()
‘ Создание и инициализация переменных
nPageStart = 1 ‘ номер ПЕРВОЙ страницы документа
nPageFinish = 16 ‘ номер ПОСЛЕДНЕЙ страницы документа
sPageStart = Str(nPageStart)
sPageFinish = Str(nPageFinish)
sPagesPrint = ””
nPageMin = 0
nPageMax = 0
sPageMin = ””
sPageMax = ””
sDirIn = ””
nCounter = 0
sListOfPages = ””
sFileNamePS = ””
sFileNameDOC = ””
‘ Формирование переменных для печати
For nCounter = nPageStart To nPageFinish / 2
sPageMin = Trim(Str(nCounter))
sPageMax = Trim(Str(nPageFinish — nCounter + 1))
If nCounter Mod 2 > 0 Then
‘ если первая нечетная
sPagesPrint = sPageMax + ”,” + sPageMin
Else
‘ если первая четная
sPagesPrint = sPageMin + ”,” + sPageMax
End If
If nCounter = 1 Then
sListOfPages = sListOfPages + sPagesPrint
Else
sListOfPages = sListOfPages + ”,” + sPagesPrint
End If
Next
sFileNameDOC = LCase(ActiveDocument.Name)
sFileNameDOC = Replace(sFileNameDOC, ”.”, ”_”)
sFileNameDOC = sFileNameDOC + ”_спуск_” + sPageStart + ”-” + sPageFinish
sDirIn = ”C:\_Image\In\”
sFileNamePS = sDirIn + sFileNameDOC + ”.ps”
‘ Исполняемая часть (печать документа)
ActivePrinter = ”Linotronic 330”
Application.PrintOut Range:=wdPrintRangeOfPages, _
Item:=wdPrintDocumentContent, Copies:=1, _
Pages:= sListOfPages, _
PageType:=wdPrintAllPages, Collate:=True, _
Background:=True, PrintToFile:=True, _
PrintZoomColumn:=2, PrintZoomRow:=1, _
PrintZoomPaperWidth:=11907, PrintZoomPaperHeight:=16839, _
OutputFileName:= sFileNamePS, _
Append:=False
End Sub