Вложение файлов (альтернатива Include) в VBScript
- Recluse
- 20.03.2022
- 3 296
- 0
- 1
- 1
- 0
- Содержание статьи
В отличии от большинства языков программирования, где присутствует директива/функция 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
Таким образом, запустив второй файл, будет выполнена процедура по считыванию данных из первого файла.
Добавить комментарий