0

VB.net から、次の行を使用して VBScript コードを実行できます。

System.Diagnostics.Process.start("AbsolutePathofVBScriptfile")

しかし、VB.net コードから vbscript にある特定の関数を呼び出すにはどうすればよいでしょうか? 私はそれを検索しましたが、それを理解できませんでした。私が見つけたのは、IActiveScript、MSScript.ocx などでした。

4

1 に答える 1

2

2 つのまったく異なるドメインで運用しているため、これが可能かどうかはわかりません。

あなたが提示したそのコード行は、vbscript ファイルをダブルクリックした場合と何の違いもありません。

私はほとんど vbscript プログラミングを行っていませんが、これについてはどうですか...メインのライブラリ ファイルで関数 (サブルーチン) を呼び出すだけの別のスクリプト ファイル (スタブ) を作成します。次に、VB.net アプリケーションからスタブを呼び出します。

ライブラリ.vbs

Function LibraryFunction(oValue)
    Wscript.Echo "LibraryRoutine Running!"
End Sub

...

スタブ.vbs

' Essentially "Import" the library script
Const ForReading = 1

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("procedures.vbs", ForReading)
Execute objFile.ReadAll()

' Call the appropriate function from library
LibraryFunction(4)

VB.net

System.Diagnostics.Process.start("stub.vbs")

関数、サブルーチン、および他のスクリプトからそれらを呼び出す方法

于 2012-06-09T07:11:19.100 に答える