質問: "http://www.google.co.jp/" then ?????????? end if ・ ・ ・ 例えばディスプレイ上にyahoo、excite、googleのホームページがそれぞれ立ち上がっていたとします。 もしyahooがあれば閉じて次にexciteを探しあれば閉じて、次にgoogleのページがあればそのままにし後の処理を行わず終わらせたいのですが・・・もしgoogleが開いていればこれ以降の処理を全てすっ飛ばして終了にしたいのですが・・・ また、if thenを繰り返してばかりで汚いコードのような気もします。 これをやっていてyahoo、excite、google全て開いていた場合何故かエラーが出て終了してしまいます。 どなたかいい方法があれば教えて下さい。
回答: 掲題のプログラムでは難しいですね。何がどう違うとか指摘できる レベルではないようなので、一例を示します。 redim obj(0) max = -1 set objshell = createobject("shell.application") for each objwindow in objshell.windows if objwindow.type = "html ドキュメント" then select case objwindow.locationurl case "http://~", "http://~",・・・ '★ max = max + 1 redim preserve obj(max) set obj(max) = objwindow end select end if next for i = 0 to max obj(i).quit next ★ ここで、終了させたいurlを並べます。 あるいはlocationname(タイトルバー)の内容で判断する方法も あります。if then の繰り返しが嫌ならselect case文があります。 http://msdn.microsoft.com/ja-jp/library/cc392472.aspx ※上記はインデントに漢字空白を使っています。コピペ注意