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

Вложение файлов (альтернатива 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

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

Была ли эта статья Вам полезна?

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

Ваш адрес email не будет опубликован.

Напоминаем Вам, что Ваше сообщение будет опубликовано только после проверки администратором сайта. Обычно это занимает 1-2 рабочих дня.