Печать из командной строки.
Посоветуйте, как из командной строки напечатать выбранный лист MS World?
|
Скриптом. WSH или PowerShell.
Например, так (на WSH):
Скрытый текст
Код:
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
'=============================================================================
|
Сильно заумно такие скипты писать. почитайте ТУТ просто и сердито. А можно очень просто создать BAT фаил где печать пойдет по умолчанию. А не простынь скрипта.
|
ziku, ну, Вы же нам не просто ткнёте ссылкой, а популярно расскажете, как напечатать отдельную страницу документа из командной строки, не правда ли?!
|
Время: 22:00.
© OSzone.net 2001-