如何从另一个 vbscript(另一个 .vbs 文件)获取变量

How to get variables from another vbscript (another .vbs file)

我有一个包含以下变量的文件。

Dim apple(10)
apple(0)= "banana"
apple(1)= "2 banana"
apple(2)= "3 banana"

这些变量在 script/test/test.vbs

现在我有另一个文件,其中包含以下内容

MSGBOX apple(0)
MSGBOX apple(1)

script/main.vbs

如何使这些成为可能?

是的,这是可能的。需要做一些额外的工作来包含外部文件。我将下面的工作基于此 article.

test.vbs 文件的内容

Sub CustomInclude(file)

  Dim fso, f

  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.OpenTextFile(file & ".vbs", 1)

  str = f.ReadAll

  f.Close

  ExecuteGlobal str

End Sub

'Set variables here
Dim apple(10)
apple(0)= "banana"
apple(1)= "2 banana"
apple(2)= "3 banana"

' Now call subroutine to include my external file.
CustomInclude "../main"  'Use of relative folder structure

main.vbs

的内容
MSGBOX apple(0)
MSGBOX apple(1)
MSGBOX apple(2)

对于 .HTA/.HTML/.WSF 不要重复发明轮子,而是使用 script 标签的 src 属性。

对于普通的 .VBS,使用 ExecuteGlobal 作为演示 here:

Dim gsLibDir : gsLibDir = "M:\lib\kurs0705\"
Dim goFS     : Set goFS = CreateObject( "Scripting.FileSystemObject" )
ExecuteGlobal goFS.OpenTextFile( gsLibDir & "BaseLib.vbs" ).ReadAll()

在任何一种情况下,将要重新使用的代码放入包含文件中;不要将工作浪费在花哨的 Include Subs/Functions 上,它只提供一行代码。

如果这是一个网页,您可以使用 html 包含使其正常工作。(通常将其粘贴在您想要内容的位置。(head 标签或 body 标签等...)

<!--#include file="../include/FileWithVaraibles.htm"-->

using #include