ネットワーク上でさまざまな起動スクリプトを実行するために多数のvbscriptを維持しており、それらのほとんどすべてで使用する関数がいくつかあります。
コピーアンドペーストを除いて、再利用可能なvbscriptコードのライブラリを作成する方法について誰かが提案を持っていますか。コピーアンドペーストよりも頭痛の種でない限り、コードジェネレーターを使用することを嫌がりません。しかし、どんな推奨もいただければ幸いです。
ありがとう
ネットワーク上でさまざまな起動スクリプトを実行するために多数のvbscriptを維持しており、それらのほとんどすべてで使用する関数がいくつかあります。
コピーアンドペーストを除いて、再利用可能なvbscriptコードのライブラリを作成する方法について誰かが提案を持っていますか。コピーアンドペーストよりも頭痛の種でない限り、コードジェネレーターを使用することを嫌がりません。しかし、どんな推奨もいただければ幸いです。
ありがとう
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 を呼び出してください。そうしないと、スコープの問題が発生します。
もちろん、悪意のある使用を防ぐために、すべてのファイルを厳重に管理してください。
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"