Visual Basic Script


Windows Script Host (WSH) - MS Office


В предыдущей статье я рассказывал, как можно управлять различными окнами программ: активизировать их, передавать в них нажатие клавиш... В этой статье мы зайдем немного дальше и научимся управлять приложениями через ActiveX компоненты. Пожалуй, наиболее популярное и частое применение этих знаний может найти отражение в работе с MS Office, а точнее с Word и Excel. Вот над ними мы сегодня и поиздеваемся (все примеры были протестированы в Офис 2000).

Для начала, приведу немножко подредактированный файл примера Microsoft по работе с Excel-ем, сопроводив его попутно своими комментариями:

//JScript //Создаем Екселевский объект, с методами и свойствами которого будем работать var objXL = WScript.CreateObject("Excel.Application"); //Делаем окно видимым и создаем рабочую книгу objXL.Visible = true; objXL.WorkBooks.Add;

//Устанавливаем ширину первых трех колонок objXL.Columns(1).ColumnWidth = 20; objXL.Columns(2).ColumnWidth = 30; objXL.Columns(3).ColumnWidth = 40;

//Первая строка будет у нас шапкой таблицы //Заполняем значения ячеек objXL.Cells(1, 1).Value = "Название свойства"; objXL.Cells(1, 2).Value = "Значение"; objXL.Cells(1, 3).Value = "Описание";

//Форматируем ячейки, чтобы все было красиво objXL.Range("A1:C1").Select; objXL.Selection.Font.Bold = true; objXL.Selection.Interior.ColorIndex = 1; objXL.Selection.Interior.Pattern = 1; objXL.Selection.Font.ColorIndex = 2; objXL.Columns("B:B").Select; objXL.Selection.HorizontalAlignment = -4131;

//Вводим счетчик строк, куда будем записывать информацию var intIndex = 2;

//А эта функция как раз и будет выводить нашу информацию построчно function Show(strName, strValue, strDesc) { objXL.Cells(intIndex, 1).Value = strName; objXL.Cells(intIndex, 2).Value = strValue; objXL.Cells(intIndex, 3).Value = strDesc; intIndex++; objXL.Cells(intIndex, 1).Select; }

//Итак, заполним таблицу данными о версии wscript установленной на компьютере Show("Name", WScript.Name, "Application Friendly Name"); Show("Version", WScript.Version, "Application Version"); Show("FullName", WScript.FullName, "Application Context: Fully Qualified Name"); Show("Path", WScript.Path, "Application Context: Path Only"); Show("Interactive", WScript.Interactive, "State of Interactive Mode"); //До кучи добавим сведения о параметрах, с которыми запускается скрипт var colArgs = WScript.Arguments; Show("Arguments.Count", colArgs.length, "Number of command line arguments"); for (i = 0; i < colArgs.length; i++) { objXL.Cells(intIndex, 1).Value = "Arguments(" + i + ")"; objXL.Cells(intIndex, 2).Value = colArgs(i); intIndex++; objXL.Cells(intIndex, 1).Select; }




Начало    Вперед



Книжный магазин