■45860 / inTopicNo.4) |
Re[2]: VB.NETからVBScriptを実行したい |
□投稿者/ AT (2回)-(2010/01/21(Thu) 10:01:24)
|
こんにちは。ATです。
Jitta on the wayさん、魔界の仮面弁士さん、ありがとうございます。
魔界の仮面弁士さんの(2)の案が参考になりました。
■No45845 (魔界の仮面弁士 さん) に返信 > ■No45838 (AT さん) に返信 >>「VB.NETからVBScriptを呼び出してVBScriptを実行する」 > > どのような目的で、どのようなスクリプトを実行させようとしているのでしょうか? > それによって、記述すべきコードも異なってきます。 > > > たとえば: > > (1) ASP.NET でクライアントスクリプトに VBScript を採用し、ブラウザ側の onload で呼び出す。 > > (2) WinForm アプリから、*.wsf/*.vbs ファイルを WScript.exe/CScript.exe 経由で実行するために > Process.Start メソッドを利用する。 > > (3) *.wsc ファイルとして記述された VBScript を呼び出すために、 > GetObject("script:C:\sample.wsc") の構文を利用する。 > > (4) VBScript コードを示す String 変数を用意しておき、それを > Microsoft ScriptControl 経由で実行する。 > > (5) Windows Script Interface を実装して利用する。 > http://msdn.microsoft.com/ja-jp/library/cc392158.aspx > > などなど。 > > > > たとえば (2) なら、 > > ---- C:\sample.vbs ---- > MsgBox FormatDateTime(Now()) > ----------------------- > > を呼び出すために、 > Process.Start("WScript.exe", "C:\sample.vbs") > というコードを利用できます。 > > > あるいは (3) なら、 > > ---- C:\sample.wsc ---- > <?xml version="1.0" encoding="UTF-8"?> > <package> > <component id="Sample"> > <public> > <method name="SampleMethod"> > <parameter name="arg1" /> > </method> > </public> > <script language="VBScript">'<![CDATA[ > Option Explicit > On Error Resume Next > Function SampleMethod(arg1) > SampleMethod = arg1 * arg1 > End Function > ']]></script> > </component> > </package> > ----------------------- > を呼び出すために、 > Dim o As Object = GetObject("script:C:\sample.wsc") > MsgBox(o.SampleMethod(123)) '結果は15129 > などと記述できます。
|
解決済み
|