VB.net から、次の行を使用して VBScript コードを実行できます。
System.Diagnostics.Process.start("AbsolutePathofVBScriptfile")
しかし、VB.net コードから vbscript にある特定の関数を呼び出すにはどうすればよいでしょうか? 私はそれを検索しましたが、それを理解できませんでした。私が見つけたのは、IActiveScript、MSScript.ocx などでした。
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")