/******************* Начало **********************************/
Main;
/************* Конец *********************************************/
Вывод данных из записной книжки в таблицу Microsoft Excel
Напишем сценарий, который будет создавать файл (рабочую книгу) Microsoft Excel и заносить туда данные из записной книжки (рис. 8.10).
Рис. 8.10. Рабочая книга Microsoft Excel с данными из файла book.xml
Для того чтобы использовать определенные в Excel именные константы без их предварительной инициализации (как мы это делали в сценариях, работающих с Word), наш сценарий будет представлять собой WS-файл ListXLS.wsf, в котором мы определим с помощью тега
<reference>
ссылку на объект
Excel.Sheet
:
<reference object="Excel.Sheet"/>
Основная функция сценария
Main
как всегда начинается с создания объекта
WshShell
и вызова функции
InitPath
, в которой определяется путь к файлу с данными book.xls и выходному файлу out.xls:
//Создаем объект WshShell
WshShell = WScript.CreateObject("WScript.Shell");
//Определяем пути к файлам
InitPath;
Для
того чтобы запустить Excel и получить доступ к его интерфейсам, нужно создать экземпляр объекта
Excel.Application
(переменная
XL
):
//Создаем объект Application
XL=WScript.CreateObject("Excel.Application");
Чтобы визуально контролировать процесс вывода информации, окно Excel мы сделаем видимым:
//Делаем окно Microsoft Excel видимым
XL.Visible=true;
Для создания в Excel нового файла (рабочей книги) используется метод
Add
семейства
Workbooks
:
//Открываем новую рабочую книгу
XL.WorkBooks.Add;
Затем в сценарии выставляется необходимая ширина трех первых колонок (здесь мы будем печатать имя, фамилию и номер телефона). Для этого следует присвоить нужные значения свойству
ColumnWidth
соответствующих элементов коллекции
Columns
:
//Устанавливаем нужную ширину колонок
XL.Columns(1).ColumnWidth = 40;
XL.Columns(2).ColumnWidth = 40;
XL.Columns(3).ColumnWidth = 10;
Заголовок отчета (названия столбцов) печатается в функции
TopReport
:
//Вывод заголовка отчета
function TopReport {
//Печатаем в ячейки текст
XL.Cells(1,1).Value="Фамилия";
XL.Cells(1,2).Value="Имя";
XL.Cells(1,3).Value="Телефон";
//Выделяем три ячейки
XL.Range("A1:C1").Select;
//Устанавливаем полужирный текст для выделенного диапазона
XL.Selection.Font.Bold = true;
//Устанавливаем выравнивание по центру для выделенного диапазона
XL.Selection.HorizontalAlignment=xlCenter;
}
Как мы видим, доступ к ячейке можно получить с помощью свойства
Сells
объекта
Application
, указав в круглых скобках индексы строки и столбца, на пересечении которых находится данная ячейка (нумерация строк и столбцов начинается с единицы). Свойство
Value
соответствует содержимому ячейки.
Так как названия столбцов должны быть выделены полужирным шрифтом и выровнены по центру, мы в функции
TopReport
с помощью метода
Select
объекта
Range
сначала выделяем сразу три ячейки ("
A1
", "
B1
" и "
С1
"):
//Выделяем три ячейки XL.Range("A1:C1").Select;
а затем устанавливаем необходимые свойства у объекта
Selection
, который соответствует выделенному диапазону:
//Устанавливаем полужирный текст для выделенного диапазона