Цитата Loki3D:
как можно изменить ориентацию листа с книжной на Альбомную »
|
не так просто... учитывая, что IE не сохраняет ориентацию листа, а каждый раз считывает настройки с принтера, кроме того в
KB236777 недвусмысленно сказано, что программно эту настройку в IE изменить нельзя:
Цитата:
There might be a need to change the print settings of Internet Explorer or the WebBrowser control programmatically. The only settings that can be changed are page margins, and header and footer information. There is no supported way to change other settings like page orientation or printer.
|
тем не менее есть один вариант (кроме ручной перенастройки параметров принтера): сходить по этому линку:
PageSet.exe Programmatically Changes Default Printer Orientation, скачать оттуда
Pageset.exe, выдернуть из комплекта
PageSet.dll и зарегистрировать его в системе через
RegSvr32 - после этого COM-объект можно использовать в WSH. Слегка измененный VBS-скрипт, использующий функциональность "PageSet.PrinterControl" - перед печатью ориентация устанавливается на книжную, а после - восстанавливается на первоначальную:
Код:
On Error Resume Next
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objIE = CreateObject("InternetExplorer.Application")
Set objPG = CreateObject("PageSet.PrinterControl")
strFile = Wscript.arguments.Item(0)
strFile = objFS.GetAbsolutePathName(strFile)
If Not(objFS.FileExists(strFile)) Then
WScript.Echo "Файл не найден"
WScript.Quit
End If
objPG.ChngOrientationLandscape
objIE.Visible = False
objIE.Navigate strFile
While objIE.Busy
WScript.Sleep 100
Wend
objIE.ExecWB 6, 2
WScript.Sleep 1000
objPG.ReSetOrientation
objIE.Quit