そのため、私は VBScript を頻繁に使用しており、同じ関数を呼び出すスクリプトがいくつかあります。現時点では、各スクリプトにはその関数が一番下にコピーされているだけですが、いくつかのファイルを更新する必要があるため、更新する必要があると面倒です (そして、通常はいくつかを忘れます)。私ができる方法はあり
ますか:1.「TestScript1」に「TestScript2」を呼び出さ
せる2.
「TestScirpt2」に「TestScript1」から引数を取得させる(つまり、特定の日付変数)
「TestScript1」に戻る 3 つの異なる引数
そして、ボーナスは、実際に何らかの方法ですべてを実行し、「TestScript2」と対話する複数のスクリプトで機能させることができる場合です。
3 に答える
0
HTAの使用を検討したことがありますか? これは、複数のスクリプト ファイルを読み込んで結合する場合に HTA を使用する方法の例です。
<html>
<head>
<title>Demo IT</title>
<HTA:APPLICATION
ID="objShowMe"
APPLICATIONNAME="HTAShowMe"
SCROLL="yes"
SINGLEINSTANCE="yes"
WINDOWSTATE="maximize"
>
<SCRIPT Language="VBScript" src="testscript2.vbs"/>
<SCRIPT Language="VBScript">
Sub TakeOff
text = "1 2 3"
argArray = GiveMeThree(text)
msgbox argArray(0)
msgbox argArray(1)
msgbox argArray(2)
End Sub
</SCRIPT>
</head>
<body>
<h1>In the body</h1>
<input type="button" value="Click me!" onclick="TakeOff">
</body>
</html>
のtestscript2.vbs
Public Function GiveMeThree(x)
GiveMeThree = split(x, " ")
End Function
于 2013-11-13T16:27:50.373 に答える
0
これを行う最善の方法は、 Windows Script Componentを作成することだと思います。これにより、VBScript または COM をサポートするその他のプログラミング言語など、どこからでも呼び出すことができる、完全に焼き付けられた COM オブジェクトとしてスクリプトが公開されます。
コード例を次に示します。これは、拡張子が .wcs のファイルにあります。
<?XML version="1.0"?>
<?component error="false" debug="false"?>
<component id="SVInfo">
<registration
progid="Tmdean.ScriptFunctions"
description="Description of your COM object"
version="1.5"
clsid="{3267711E-8359-4BD1-84A6-xxxxxxxxxxxx}"/>
<!-- generate your own GUID to use in the line above -->
<public>
<method name="MyMethod"/>
</public>
<script language="VBScript">
<![CDATA[
Function MyMethod(param1, param2)
MyMethod = param1 + param2
End Function
]]>
</script>
</component>
次のコマンドで、このファイルを COM に登録します。
regsvr32 scrobj.dll /n /i:file://J:\scripts\scriptfunctions.wcs
次に、スクリプト コンポーネントで定義した ProgID を使用して、VBScript でメソッドを呼び出すことができます。
Dim script_functions
Set script_functions = CreateObject("Tmdean.ScriptFunctions")
WScript.Echo script_functions.MyMethod(2, 2)
于 2013-11-13T16:35:59.577 に答える