C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.63148 の関連記事表示

<< 0 >>
■63148  C#でwsfファイルを実行する
□投稿者/ asa -(2012/07/25(Wed) 19:25:59)

    分類:[.NET 全般] 

    C#内でwsf内の関数を実行して返り値を得るプログラムを作成したいのですが可能でしょうか。

    簡単なサンプルや記述のあるURLなどをいただけると大変助かります。
    よろしくお願いいたします。
親記事 /過去ログ106より / 関連記事表示
削除チェック/

■63153  Re[1]: C#でwsfファイルを実行する
□投稿者/ shu -(2012/07/26(Thu) 17:33:54)
    No63148 (asa さん) に返信
    
    http://msdn.microsoft.com/ja-jp/library/cc392507.aspx
    
    例えばa.wsfが以下の内容なら
    <package>
        <job id="job1">
            <script language="VBScript">
                WScript.Echo 1
            </script>
        </job>
    
    
        <job id="job2">
            <script language="VBScript">
                WScript.Echo 2
            </script>
        </job>
    </package>
    
    以下のコマンドで実行出来るので
    
    CScript //Job:job1 〜\a.wsf
    CScript //Job:job2 〜\a.wsf
    
    Process起動して戻りを確認するのはどうでしょう?
    
    
    
記事No.63148 のレス /過去ログ106より / 関連記事表示
削除チェック/

■63154  Re[1]: C#でwsfファイルを実行する
□投稿者/ 魔界の仮面弁士 -(2012/07/26(Thu) 20:16:07)
    No63148 (asa さん) に返信
    > C#内でwsf内の関数を実行して返り値を得るプログラムを作成したいのですが可能でしょうか。
    
    wsf ではなく、wsc なら可能なのですけれどね。
    
    
    【C:\temp\test.wsc】
    
    <?xml version="1.0" encoding="utf-8"?>
    <package>
    <component>
    
    <public>
      <method name="ToYMD">
        <parameter name="dt" />
      </method>
    
      <property name="Today">
        <get />
      </property>
    </public>
    
    <script language="VBScript"><![CDATA[
    Option Explicit
    
    Function ToYMD(ByVal dt)
        ToYMD = Year(dt) * 10000 + Month(dt) * 100 + Day(dt)
    End Function
    
    Function get_Today()
        get_Today = Date
    End Function
    
    ]]></script>
    
    </component>
    </package>
    
    
    【C#】
    
    var file = @"C:\temp\test.wsc";
    dynamic wsc = Microsoft.VisualBasic.Interaction.GetObject("script:" + file);
    
    dynamic result;
    
    result = wsc.ToYMD(DateTime.Now);
    Console.WriteLine(result);
    
    result = wsc.Today;
    Console.WriteLine(result);
記事No.63148 のレス /過去ログ106より / 関連記事表示
削除チェック/

■63161  Re[2]: C#でwsfファイルを実行する
□投稿者/ asa -(2012/07/27(Fri) 18:20:17)
    ご回答ありがとうございます。
    wscに置き換えられるかどうかチェックしてみます。
    (wsfファイル自体今回初めて知ったもので困惑しております)

    dynamicの遅延機能便利ですね
記事No.63148 のレス /過去ログ106より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -