Код:

Option Explicit
Const wdPrintFromTo = 3
Const wdDoNotSaveChanges = 0
Dim strSourceFile
Dim intPage
If WScript.Arguments.Named.Count = 2 Then
If WScript.Arguments.Named.Exists("SourceFile") Then
strSourceFile = WScript.Arguments.Named.Item("SourceFile")
With WScript.CreateObject("Scripting.FileSystemObject")
If .FileExists(strSourceFile) Then
Select Case LCase(.GetExtensionName(strSourceFile))
Case "doc", "docx", "docm"
If WScript.Arguments.Named.Exists("Page") Then
If IsNumeric(WScript.Arguments.Named.Item("Page")) Then
intPage = WScript.Arguments.Named.Item("Page")
With WScript.CreateObject("Word.Application")
With .Documents.Open(strSourceFile, False, True, False)
.PrintOut False,, wdPrintFromTo,, intPage, intPage
.Close
End With
.Quit wdDoNotSaveChanges
End With
Else
ShowUsage "Argument <Page> [" & WScript.Arguments.Named.Exists("Page") & "] is not a numeric value."
WScript.Quit 4
End If
Else
ShowUsage "Argument <Page> is missing."
WScript.Quit 4
End If
Case Else
ShowUsage "Source file [" & strSourceFile & "] probably not an Microsoft Word document file."
WScript.Quit 4
End Select
Else
ShowUsage "Can't find source file [" & strSourceFile & "]."
WScript.Quit 3
End If
End With
Else
ShowUsage "Argument <SourceFile> is missing."
WScript.Quit 2
End If
Else
ShowUsage ""
WScript.Quit 1
End If
WScript.Quit 0
'=============================================================================
'=============================================================================
Sub ShowUsage(strComment)
Dim strShowUsage
strShowUsage = _
"Usage: wscript.exe """ & WScript.ScriptName & """ /SourceFile:<Source file> /Page:<Page number>" & vbCrLf & _
"" & vbCrLf & _
"Example: wscript.exe """ & WScript.ScriptName & """ /SourceFile:""c:\Users\User\Documents\My document.doc"" /Page:4"
If Len(strComment) > 0 Then
WScript.Echo strComment & vbCrLf & vbCrLf & strShowUsage
Else
WScript.Echo strShowUsage
End If
End Sub
'=============================================================================