保持VBScript组织

时间:2009-04-17 17:45:09

标签: vbscript code-reuse organization

我维护了很多用于在我的网络上执行各种启动脚本的vbscripts,并且我在几乎所有这些脚本中都使用了一些函数。

没有复制和粘贴,是否有人建议我如何创建可重用的vbscript代码库。我并不反对使用代码生成器这样做,只要它不像复制和粘贴那样令人头疼。但任何建议都会受到赞赏。

由于

2 个答案:

答案 0 :(得分:6)

VBScript有Execute语句,所以如果你不想去Tester101建议的WSF路由,你可以像这样做一个包含:

Set fso = CreateObject("Scripting.FileSystemObject")
file = "your_library.vbs"

Execute fso.OpenTextFile(file, 1).ReadAll

Set foo = New FooClass
MsgBox foo.GetBar()

假设"your_library.vbs"包含FooClass的类定义。

请务必在全局范围内调用Execute,否则您将遇到范围问题。

当然,请确保严密控制所有文件,以防止恶意使用。

答案 1 :(得分:3)

我使用合成include(如下所示)并将我的库存储在子目录中。

Sub Include( scriptName )
    Dim sScript
    Dim oStream
    With CreateObject( "Scripting.FileSystemobject" )
    Set oStream = .OpenTextFile( scriptName )
    End With
    sScript = oStream.ReadAll()
    oStream.Close
    ExecuteGlobal sScript
End Sub

显然,如果包含的脚本中存在错误,您将不会收到非常有用的错误消息(VBScript将无法告诉您问题发生在哪一行。)一旦一切正常,但是。 ..

Include "c:\script\stdlib.vbs"
Include "c:\script\INI.cls"