Windows script host создать файл excel

Основы языка JScript — написание WSH скриптов

Сегодня поговорим об очень полезном компоненте операционной системы Windows — это Windows Script Host, если быть конкретней, то о языке Jscript, на котором можно писать эти самые WSH скрипты.

Начнем мы с небольшой теории, так как мы еще не затрагивали Windows Script Host.

Что такое Windows Script Host?

Windows Script Host – сервер выполнения сценариев (скриптов) на таких языках как VBScript и JScript. WSH разработан компанией Microsoft и он является компонентом операционной системы Windows начиная с Windows 98.

Первоначально для администрирования использовались только bat-файлы, но их возможности ограничены (хотя также очень полезны!), поэтому компания Microsoft предложила такой вариант WSH. Возможности WSH-скриптов уже гораздо больше, ведь данные скрипты уже создаются на полноценных языках, таких как VBScript и JScript.

Именно о JScript мы сегодня и поговорим.

Но о VBScript мы тоже скажем пару слов.

VBScript – это скриптовой язык программирования, созданный компанией Microsoft для разработки скриптов в операционной системе Windows. Другими словами, это один из языков, которые может интерпретировать Windows Script Host. И из названия ясно, что VBScript основан на языке Visual Basic, поэтому тем, кто знаком с Visual Basic будет просто писать WSH-скрипты на этом языке программирования.

JScript – скриптовой язык программирования, с помощью которого можно создавать (писать) скрипты, которые будут интерпретироваться компонентом Windows Script Host.

С первого взгляда JScript во многом похож на JavaScript (ECMAScript), это и естественно, так как синтаксис, некоторый объекты, методы, свойства аналогичны JavaScript. Но это все же не JavaScript, а именно JScript. JavaScript (ECMAScript) ориентирован на объекты браузера, а JScript уже на компоненты операционной системы Windows. Но как мы сказали, они похожи, поэтому те, кто владеют языком программирования JavaScript с легкостью перейдут на JScript.

Возможности Windows Script Host

А теперь давайте поговорим о том, зачем нам нужно писать эти самые WSH-скрипты, т.е. об их возможностях и преимуществах:

  • Возможность взаимодействия с файловой системой (файлы, каталоги), системным реестром, ресурсами локальной сети;
  • Взаимодействие с такими продуктами как Microsoft Word, Excel и другими программами. Т.е. например, мы можем создавать excel файлы или конвертировать другие форматы в excel файлы;
  • Взаимодействие с ActiveX-технологиями, например: ActiveX Data Object (ADO) — доступ к базам данных разных форматов, Active Directory Service Interface (ADSI) — работа со службами каталогов Active Directory;
  • Наличие полноценного языка программирования, с помощью которого можно реализовывать сложные алгоритмы, которые например нельзя реализовать с помощью bat файлов.

Скрипты на JScript имеют расширение .js такое же, как и на JavaScript за исключением того, что эти скрипты обрабатывает не браузер, а Windows Script Host.

На JScript возможно даже реализация графического интерфейса через объект браузера (internet explorer), согласитесь это уже полноценная программа.

Примеры написания WSH скриптов

Перейдем к практике, так как у нас сегодня статья по основам, мы рассмотрим простые примеры написание скриптов на JScript.

Примечание! Для того чтобы попробовать примеры ниже скопируйте код любого примера в текстовый файл и сохраните с расширением .js, например, test.js.

Выводим сообщение на JScript

В WSH имеется специальный объект, на основе которого мы уже можем в дальнейшем создавать другие объекты, настраивать взаимодействие с программами, файлами и другими компонентами операционной системы.

Читайте также:  Сгенерировать пароль для linux

Этим объектом является WScript. Пример его использования на Jscript:

Тем самым мы создали объект, с помощью которого мы можем получить доступ к компонентам Windows.

Например, вывести сообщение:

Работа с Excel на JScript

Теперь давайте создадим другой объект, например, Excel файл:

Как Вы понимаете, мы имеем доступ ко всем свойствам в Excel, другими словами, мы можем изменить внешний вид, задать формат ячеек и многое другое. Для примера давайте поэкспериментируем с некоторыми свойствами:

Работа с текстовым файлом и Excel на JScript

Я думаю с Excel все понятно, теперь давайте прочитаем какие-нибудь данные из текстового файла и запишем их в нашу Excel таблицу, для закрепления наших знаний.

Для того чтобы настроить взаимодействие с файловой системой, необходимо создать объект FileSystemObject, который работает с файлами и каталогами. Вот пример небольшого скрипта, который считывает данные из текстового файла построчно и записывает их в Excel документ, причем мы все строки пронумеруем и зададим ширину столба для данных в Excel:

Пример текстового файла:

Как всегда весь код я прокомментировал, поэтому неясностей возникнуть не должно.

Я думаю для начала этого вполне достаточно, в дальнейшем мы будем разбирать задачи посложней, ведь при помощи Jscript в WSH можно очень много чего сделать, гораздо больше, чем с помощью простых bat файлов. До встречи!

Рецепты Windows Scripting: использование COM-серверов MS Office в скриптах

Программы Microsoft Office предоставляют ряд COM-серверов (например, «Word.Application», или «Excel.Application»), которые чаще всего используются для автоматизации работы с различными документами Microsoft Office. Однако, в сценариях Windows Script Host (или в любых других средах, могущих выступить в роли OLE-клиента, например, в 1С:Предприятии) данные COM-сервера могут быть использованы и для более экзотических целей, о чём и пойдёт речь в данной статье. Примеры кода приводятся на языке VBScript для административных сценариев Windows.

Использование диалогов открытия и сохранения файлов

Windows Script Host не имеет встроенных средств для вызова стандартных диалогов выбора файлов «Открыть» и «Сохранить». Вы можете обойти эту проблему, если у вас есть MS Office. Следующий скрипт демонстрирует возможность использования диалогов открытия и сохранения файлов MS Excel:

Конвертация форматов файлов (Save As. ) с помощью Excel и Word.

Приложения MS Office поддерживают довольно большое количество форматов файлов и позволяют конвертировать эти форматы друг в друга. Различным форматам файлов соответствуют константы, предопределённые в языке VBA в MS Office. Названия всех констант, соответствующих форматам файлов, можно найти в справке VBA, воспользовавшись поиском, например, по словам «FileFormat Property». Можно узнать числовое значение той или иной константы, напечатав её имя в текстовом редакторе VBA, а затем нажав Ctrl+I. Поскольку в Windows Script Host эти константы по умолчанию не определены, в скрипте их придётся объявить специально, например:

После того, как нужные константы объявлены, можно заниматься непосредственно конвертацией. Вот так может выглядеть преобразование текстового файла к кодировке MS DOS с помощью MS Word:

То же самое с помощью MS Excel:

Преобразование DBF-файла в рабочую книгу Excel:

Преобразование DBF-файла в текстовый CSV-файл:

Естественно, приведённые выше примеры не исчерпывают всех возможностей конвертации форматов файлов.

Запуск процедур и функций VBA из существующего документа MS Office

Следующий скрипт демонстрирует возможность запуска функции, написанной на VBA, из существующей книги Excel. Функции, написанные на VBA, могут получать параметры из скрипта и возвращать значение в скрипт:

Читайте также:  Windows 10 one language русификация

Таким образом, вы можете писать процедуры и функции на VBA, используя специфические возможности VBA, а затем вызывать их из скриптов Windows Script Host. Примечание: если запускаемая из vb-скрипта функция VBA вызывает диалоговую форму VBA, эта форма будет отображена!

Динамическое создание и запуск процедур и функций VBA

Следующий скрипт демонстрирует возможность динамического создания и запуска процедур и функций VBA с параметрами (в т.ч. с использованием функций Win32 API в среде VBA). Для возможности работы скрипта необходимо установить флажок «Доверять доступ к Visual Basic Project» на вкладке «Надежные издатели» диалога «Безопасность» в соответствующем приложении (Word или Excel) через меню «Сервис» — «Макрос» — «Безопасность. «. Также возможно потребуется снять флажок «Require Variable Declaration» на вкладке «Editor» окна «Options» редактора VBA (меню «Tools» — «Options. «), чтобы VBE не пыталась автоматически вставлять инструкцию «Option Explicit».

Как видно из приведённого выше скрипта, динамическое создание и запуск процедур и функций VBA возможны как с помощью Excel, так и с помощью Word. Для использования Excel или Word достаточно раскомментировать и закомментировать нужные блоки кода.

WSH изменить Excel файл

Удаление файлов определенного расширения с ведением протокола Ms Word или Excel (WSH)
Друзья, не могу разобраться, помогите написать программку, задание такое: Удаление файлов.

Удаление файлов по дате модификации с ведением протокола Ms Word или Excel (WSH)
Друзья, не могу разобраться, помогите написать программку, задание такое: Удаление файлов.

Скрипт wsh: найти в заданной папке и подпапках определенный файл
Напишите скрипт, который находит в заданной папке и подпапках заданный файл. Полные имена.

Открыть и изменить файл excel
для открытия файла //Следующий код позволяет выполнять запуск Excel excelapp = new.

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Как вывести в браузер excel файл и изменить его
Есть заготовка формы платежки в Excel нужно вывести содержимое excel файла в браузер, заполнить.

Как изменить связь на Excel файл для обновления диаграмм в ppt?
Добрый день! Подскажите пожалуйста: раньше диаграммы были связаны на файл, который лежал на.

Макрос для переноса данных из одного Excel в другой Excel файл
Уважаемые эксперты, очень нужна ваша помощь! Подскажите, пожалуйста, как прописать макрос, который.

Макросы на копирование данных из нескольких файлов excel в один файл excel
Здравствуйте! Помогите сделать два макроса в excel, которые будут копировать данные из множества.

Скрипты сервера Windows Script Host (WSH)

В статье описаны скрипты WSH (Windows Script Host), способы их запуска, состав и функциональные возможности самого сервера Windows Script Host, и несколько примеров WSH скриптов. И так, давайте приступим. Все скрипты WSH являются интерпретируемыми, то есть, для их выполнения не требуется не требуется посредника, который будет преобразовывать ваш код в машинный. Вы просто открываете блокнот и пишите код сценария WSH. По умолчанию, Windows Script Host позволяет писать сценарии на двух языках, это VBScript и Jscript, но, при желании можно установить дополнительные модули для остальных языков, например, Perl, Phyton, TCL и так далее.

Теперь давайте рассмотрим, какие типы WSH сценариев можно создавать по умолчанию и их расширения:

.vbs – данный тип файлов содержит программный код на языке VBScript, если запустить такой скрипт, то сервер Windows Script Host автоматически применит для его обработки интерпретатор VBScript.
.vbe – в данном случае, это такой же файл как и vbs, но, закодированный.
.js — данный тип файлов содержит программный код на языке JScript, сервер автоматически будет его обрабатывать интерпретатором Jscript
.jse – закодированный сценарий WSH для языка Jscript.
.wsf – данный тип файлов содержит разметку XML и позволяет объединять вместе синтаксис различным языков.
.wsc – используется для регистрации вашего скрипта как COM-компонента (скриплет). Данный тип файлов требует отдельной статьи.
.wsh – управляет скриптом, аналог файла *.pif для DOS-программ. Будет рассмотрен в данной статье более подробно.

Читайте также:  Pantum m6800fdw драйвер windows 10

Хорошо, давайте рассмотрим, как запускать WSH скрипты. Для этого существуют два варианта:

cscript.exe – данная программа позволяет запускать сценарии wsh в консольном режиме, то есть, в окне командной строки.
wscript.exe – запуск сценариев wsh в графическом режиме. По умолчанию, при запуске, его обрабатывает именно wscript.exe.

Для простоты эксперимента, напишем два примера, один на языке VBScript, а второй на языке Jscript:

Тут мы используем лишь один объект WScript, объявлять который не надо, он автоматически доступен. Свойство Echo отвечает за вывод информации, остальные свойства (Name, FullName …) позволяют нам получить дополнительную информацию, знак & позволяет объединять строки, символ подчеркивания говорит, что мы разделили строку, константа vbCrlf отвечает за перевод каретки.

И вот аналогичный скрипт WSH, но уже на языке Jscript:

Тут мы объявили переменную Mess, в которую прописали несколько строк, плюсик отвечает за объединение строк, а \n – за перевод строки. Для полноты понимания, советую, вам все-таки познакомиться с основами VBScript и Jscript и с остальными статьями из этой рубрики.

Хорошо, теперь стоит уточнить один момент, по умолчанию, если вы сохраните данные сценарии wsh и запустите их с помощью щелчка мыши, то их обработает программа wscipt.exe, однако есть одно но. После установки различных программ или каких-то изменений в системе, сценарии wsh будут обрабатываться совсем другой программой (блокнот, например). Просто надо отрыть свойства файла (скрипта), и изменить приложение для их обработки на wscript.exe (папка Windows\System32).

Теперь давайте рассмотрим способы запуска скриптов wsh.

Консольный режим в командной строке – просто откройте командную строку и пропишите:

cscript.exe “путь к сценарию wsh”

Кавычки нужны лишь в том случае, если путь содержит пробелы, пример:

cscript.exe D:\work\info.vbs
cscript.exe D:\work\info.js

Графический режим в командной строке – просто откройте командную строку и пропишите:

wscript.exe “путь к сценарию”

wscript.exe D:\work\info.vbs
wscript.exe D:\work\info.js

Используя меню Пуск – Откройте меню пуск, и в поле Выполнить введите путь к сценарию wsh. Например:

D:\work\info.vbs
D:\work\info.js

Хорошо, теперь настало время настройки параметров запуска

Параметры cscript.exe — если вы войдете в командную строку и пропишите cscript.exe, то вам будет показан список параметров запуска сценариев wsh. Все параметры начинаются с символов //. Встроенной справки хватит, что бы во всем разобраться. Так, параметр //Job используется при вызове заданного задания для файлов wsf, пример я привел в статье “Знакомство с ws-файлами (windows script file)”.

Параметры wscript.exe — тут все намного проще. Просто кликните по вашему wsh скрипту правой кнопкой, выберите пункт свойства и перейдите на вкладку Сценарий. Тут можно задать время, через которое произойдет остановка сценария. После того, как вы зададите значение в секундах и нажмете кнопку применить, появится файл с аналогичным названием, но с расширением wsh. Если теперь запустить этот скрипт, то произойдет выполнение сценария с заданными настройками, но, как вы уже догадались, тут есть один подводный камень. У нас сейчас два файла с одинаковыми именами (info), но с разными расширениями, для какого бы скрипты мы не применяли настройки, все ровно будет создан лишь один info.wsh. Ладно, на этом пока все, комментируйте и подписывайтесь.

Спасибо за внимание. Автор блога Владимир Баталий

Оцените статью