jscript(wsh)で、IE(htmlfile)のイベントを取得するには
-
2012年3月25日 12:47
こんにちは。
事務処理をスクリプト化することに日々いそしんでいるものです。
現在、WSH(Jscript)からhtmlfile(ActiveXObject)を作成して、IEをUIとして各種処理をしたいと考えております。
しかし、呼び出し側(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日 17:43
WSHから、なら、htmlfileよりInternetExplorer.Applicationを使ったほうがよいと思います。
環境によって動かないので。
実際、上のコードは私の環境では動きませんでした。イベントは普通に
object.イベント=functionオブジェクト;
で取れると思いますが?
参考:
http://msdn.microsoft.com/ja-jp/library/ms974564.aspx- 編集済み ウィンドウズスクリプトプログラマ 2012年3月25日 20:34
- 回答としてマーク ki2 2012年3月26日 21:19
-
2012年3月26日 21:37
ご返信ありがとうございます。
ご指摘をいただいた内容(リンク先)を確認して、修正後に正常稼動を確認できました。
※(その部分を一旦は目を通しましたが素通りしてしまいました。)
また、環境によって(htmlfile)は動かないことがあることも始めて知りました。
ちなみ環境は「Microsoft Windows XP [Version 5.1.2600] SP3 / ATOM N270」
上で作業をしていました。今後の課題として研鑽して参りたいと考えております。
改めてお礼を申し上げます。
ki2-kh@hotmail.co.jp > フォーラム

