Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Скриптом. 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
'=============================================================================
Это сообщение посчитали полезным следующие участники:

Отправлено: 03:16, 04-08-2018 | #2