none
jscript(wsh)で、IE(htmlfile)のイベントを取得するには

    質問

  • こんにちは。

    事務処理をスクリプト化することに日々いそしんでいるものです。

    現在、WSHJscript)からhtmlfileActiveXObject)を作成して、IEUIとして各種処理をしたいと考えております。

    しかし、呼び出し側(WSH)から、DOMイベントをどのように取得したらよいのかと悩み、悪戦苦闘しております。

    下記にソースを記載いたします。お分かりになられる方、是非ともお知恵をお貸しください。

    -------------------------------------------------------------------------------------------

    var WIDTH = 600, HEIGHT = 300;
    var CONFIG = "width="+WIDTH+",height="+HEIGHT +
          ", location=no, titlebar=no, toolbar=no, menubar=no, scrollbars=yes, status=no, directories=no";
    with( new ActiveXObject("htmlfile").Script.open("about:blank", "new", CONFIG) ){
    moveTo(screen.availWidth/2 - WIDTH/2, screen.availHeight/2 - HEIGHT/2);
    with(document){
    write("<html>");
    write("<head>");
    write("<title>THIS IS HTMLFILE</title>");
    write("</head>");
    write("<body'>");
    write("<form>");
    write("<input type=text value='text is here' name='it'></input>");
    write("<input type=text value='text is here' name='it2'></input>");
    write("<input type=button value='close' name='is'></input><hr/>");
    write("</form>");
    for(var i in document){
    try{
    write("<a href='about:blank'>"+i+" --- "+document+"</a><hr/>");
    }catch(err){
    write("<a href=''>"+i+" --- "+err.description+"</a><hr/>");
    }
    }
    write("</body>");
    write("</html>");
     while(true){                                                                         <- このループ中でイベントを取得して処理をしたいと考えています
    WScript.sleep(300);
    if( getElementsByName("it")[0].value == "end" ) break;
    }
    }
    WScript.sleep(1000);
    WScript.echo( "Exit" );  
    close();
    }
    WScript.quit();

    -------------------------------------------------------------------------------------------

    2012年3月25日 12:47

回答

すべての返信

  • WSHから、なら、htmlfileよりInternetExplorer.Applicationを使ったほうがよいと思います。
    環境によって動かないので。
    実際、上のコードは私の環境では動きませんでした。

    イベントは普通に

    object.イベント=functionオブジェクト;

    で取れると思いますが?

    参考:
    http://msdn.microsoft.com/ja-jp/library/ms974564.aspx
    2012年3月25日 17:43
  • ウィンドウズスクリプトプログラマ

    ご返信ありがとうございます。

    ご指摘をいただいた内容(リンク先)を確認して、修正後に正常稼動を確認できました。

    ※(その部分を一旦は目を通しましたが素通りしてしまいました。)

    また、環境によって(htmlfile)は動かないことがあることも始めて知りました。

    ちなみ環境は「Microsoft Windows XP [Version 5.1.2600] SP3 / ATOM N270」

    上で作業をしていました。今後の課題として研鑽して参りたいと考えております。

    改めてお礼を申し上げます。



    ki2-kh@hotmail.co.jp > フォーラム

    2012年3月26日 21:37