Затем создается новый пустой документ, в результате в переменную WD заносится ссылка на объект Document
:
WD=WA.Documents.Add();
Наконец, в переменную Sel
заносится ссылка на объект Selection
, с помощью которого можно задать тип и размер шрифта, тип выравнивания абзацев и напечатать в документе строки текста:
Sel=WA.Selection;
В результате выполнения сценариев PrintInWord.js или PrintInWord.vbs в новом документе Word печатаются две строки текста (рис. 2.10), после чего с помощью метода PrintOut
объекта Document
содержимое документа выводится на принтер:
WD.PrintOut();

Рис. 2.10. Результат выполнения сценариев PrintInWord.js
/*******************************************************************/
/* Имя: PrintInWord.js */
/* Язык: JScript */
/* Описание: Использование из сценария внешнего объекта */
/* автоматизации (Microsoft Word) */
/*******************************************************************/
var WA,WD,Sel; //Объявляем переменные
//Создаем объект--приложение Microsoft Word
WA=WScript.CreateObject('Word.Application');
//Можно было использовать конструкцию
//WA=new ActiveXObject('Word.Application');
WD=WA.Documents.Add(); //Создаем новый документ (объект Document)
WA.Visible=true; //Делаем Word видимым
Sel=WA.Selection; //Создаем объект Selection
Sel.Font.Size=14; //Устанавливаем размер шрифта
Sel.ParagraphFormat.Alignment=1; //Выравнивание по центру
Sel.Font.Bold=true; //Устанавливаем полужирный шрифт
Sel.TypeText('Привет!
'); //Печатаем строку текста
Sel.Font.Bold=false; //Отменяем полужирный шрифт
Sel.ParagraphFormat.Alignment=0; //Выравнивание по левому краю
//Печатаем строку текста
Sel.TypeText('Эти строки напечатаны с помощью WSH.');
WD.PrintOut(); //Выводим документ на принтер
/************* Конец *********************************************/
'*******************************************************************
' Имя: PrintInWord.vbs
' Язык: VBScript
' Описание: Использование из сценария внешнего объекта
' автоматизации (Microsoft Word)
'*******************************************************************
Option Explicit
Dim WA,WD,Sel ' Объявляем переменные
'Создаем объект--приложение Microsoft Word
Set WA=WScript.CreateObject('Word.Application')
' Можно было использовать конструкцию
' Set WA=CreateObject('Word.Application')
Set WD=WA.Documents.Add 'Создаем новый документ (объект Document)
WA.Visible=true ' Делаем Word видимым
Set Sel=WA.Selection 'Создаем объект Selection
Sel.Font.Size=14 'Устанавливаем размер шрифта
Sel.ParagraphFormat.Alignment=1 'Выравнивание по центру
Sel.Font.Bold=true 'Устанавливаем полужирный шрифт
Sel.TypeText 'Привет!' & vbCrLf 'Печатаем строку текста
Sel.Font.Bold=false 'Отменяем полужирный шрифт
Sel.ParagraphFormat.Alignment=0 'Выравнивание по левому краю
'Печатаем строку текста
Sel.TypeText 'Эти строки напечатаны с помощью WSH.'
WD.PrintOut 'Выводим документ на принтер
'************* Конец *********************************************
Запуск из сценариев внешних программ
Внешние программы и команды можно запускать из сценариев различными способами.
Запуск приложений Windows
Запустить из сценария WSH другое приложение можно с помощью методов Run
или Exec
объекта WshShell
.
При использовании метода Run
для запускаемого приложения можно задать тип окна (при условии, что приложение поддерживает этот тип). Например, в результате выполнения следующих двух строк JScript-кода:
var WshShell = WScript.CreateObject('WScript.Shell');
WshShell.Run('notepad', 3);
программа Блокнот (notepad.exe) будет запущена в максимизированном (распахнутом на весь экран) окне (список всех возможных значений параметров метода Run
приведен в табл. 1.13).
Метод Run
всегда создает новый экземпляр запускаемого процесса, с его помощью нельзя ни повторно активизировать окно запущенного приложения (для этого используется метод AppActivate
), ни свернуть или развернуть его.
Другим вариантом запуска из сценария приложения Windows является применение метода Exec
. Этот метод запускает приложение, путь к которому указан как параметр метода, и возвращает объект WshScriptExec
.
Например:
var WshShell = WScript.CreateObject('WScript.Shell');
var theNotepad = WshShell.Exec('calc');