Вложение файлов (альтернатива Include) в VBScript

В отличии от большинства языков программирования, где присутствует директива/функция include (C, C++, PHP), VBScript лишен такой замечательной возможности включения кода из другого файла. Для реализации подобного функционала в VBScript придется воспользоваться либо возможностями объединения различных файлов через Windows Script File (WSF), либо самописной процедурой, работа которой будет аналогична Include.

Способ 1

Создадим два файла — vbs1.vbs и vbs2.vbs. В первом файле, vbs1.vbs зададим значение переменной:

strTest = "Hello world!"

Во втором файле — vbs2.vbs, выведем на экран значение переменной strTest:

MsgBox strTest

Понятное дело, по отдельности каждый из этих файлов бесполезен, по этому воспользуемся возможностями файла wsf (буквально Windows Script File), который позволяет задать поочередное выполнение файлов.

<job id="Test">  	<script language="VBScript" src="vbs1.vbs"/>  	<script language="VBScript" src="vbs2.vbs"/>  </job>

Таким образом, при запуске файла wsf, сперва будет выполнен первый файл, а потом второй — и при этом, второй файл корректно получит данные из первого файла.

Способ 2

Так же, можно использовать самописную процедуру для VBScript, которая позволит выполнять данные из указанного файла, как будто они находятся в текущем файле скрипта.

Создадим так же файл vbs1.vbs, в котором зададим значение переменной:

strTest = "Hello world!"

Создадим файл vbs2.vbs, и внесем туда процедуру для чтения и выполнения содержимого из другого vbs файла:

Sub Include (filename)  	Dim FileSystemObject, objFile  	Set FileSystemObject = createObject ("Scripting.FileSystemObject")  	Set objFile = FileSystemObject.openTextFile (filename)  	ExecuteGlobal objFile.readAll  	objFile.close  	Set objFile = nothing  	Set FileSystemObject = nothing  End Sub    Include "vbs1.vbs"    MsgBox strTest

Таким образом, запустив второй файл, будет выполнена процедура по считыванию данных из первого файла.

Комментарии

Добавить комментарий