2

ネットワーク上でさまざまな起動スクリプトを実行するために多数のvbscriptを維持しており、それらのほとんどすべてで使用する関数がいくつかあります。

コピーアンドペーストを除いて、再利用可能なvbscriptコードのライブラリを作成する方法について誰かが提案を持っていますか。コピーアンドペーストよりも頭痛の種でない限り、コードジェネレーターを使用することを嫌がりません。しかし、どんな推奨もいただければ幸いです。

ありがとう

4

2 に答える 2

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 を呼び出してください。そうしないと、スコープの問題が発生します。

もちろん、悪意のある使用を防ぐために、すべてのファイルを厳重に管理してください。

于 2009-04-17T18:37:39.540 に答える
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"
于 2009-05-23T14:32:37.260 に答える