interop.msscriptcontrol.dllを使用して、単純なVBScript変数コード(「今日-1」のようなもの)を実行しています。私たちのアプリケーションは、これを除いて非COMコンポーネントです。VBScriptの.Net置換を検索しましたが、見つかりませんでした。
.NetのVBScriptingの代替品はありますか?
次の例では、WebBrowserコントロールにVBScript式「Now-1」を評価させ、その結果をWebBrowserのdocument.titleに埋め込んで、C#でフェッチできるようにします。
WebBrowser wb = new WebBrowser();
wb.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(
(object _sender, WebBrowserDocumentCompletedEventArgs _e) =>
{
MessageBox.Show(wb.Document.Title);
}
);
wb.DocumentText = @"
<HTML>
<HEAD>
<TITLE>Hello</TITLE>
<SCRIPT language=""VBScript"">
document.title = Now - 1
</SCRIPT>
</HEAD>
<BODY/>
</HTML>";
明らかに、このアプローチには次の問題があります。
私の直感では、このアプローチは現在使用しているアプローチよりも潜在的に悪いと感じています。
無料の Codefluent ランタイム エンジンを使用して、msscriptcontrol.dll を置き換えました。
http://www.softfluent.com/products/codefluent-runtime-client