※当サイト一部記事にはP Rが含まれます

UWSCのプログラム時、画面を閉じる処理を共通化しておくと非常に便利です。

TIPS
この記事は約4分で読めます。

「ウィンドウ(画面)を閉じる処理」はよくあるパターンなので、共通化すると便利ですね。

 

ウェブサイトを操作するプログラムなどを作ると、画面(ウインドウ)を閉じる処理を記述することは頻繁にあります。

 

もちろん、IEでセオリー通りにブラウザを起動した場合は、通常は「IE.quit」で閉じればOKです。

しかし、複数の画面を一気に閉じたいケース等、画面をたくさん開いたりクリックポイントで開く画面など、制御しにくい画面が出たりします。やたら、画面が開くポイントサイトとかあるし・・・。

 

このような場合は、無駄な画面を一気に閉じたいですね。複数画面(ウィンドウ)をまとめて処理する場合は、「GETALLWIN」で画面を取得して、一気に閉じてあげるのが一番です。

 

 

UWSCの「GETALLWIN」で全てのウィンドウを取得→IEの画面をCTRLWINで操作するサンプルコード。

UWSCの「GETALLWIN」で全てのウィンドウを取得し、その後にforループを回して、CTRLWIN(CLOSE)でまとめてクローズします。

例えば、サンプルコードはこんな感じです。

 

CLOSE_IE("")
CLOSE_IE("ポイントサイト")


PROCEDURE CLOSE_IE(targetSITE)
	//画面削除PROCEDURE
	for i = 0 to GETALLWIN()-1
		IFb POS("iexplore.exe", STRCONV(STATUS(ALL_WIN_ID[i], ST_PATH),SC_LOWERCASE)) <> 0 then
			IFb targetSITE = "" then
				// targetSITEが空欄の場合は全ての画面を削除
				CTRLWIN(ALL_WIN_ID[i], CLOSE)
			else
				// targetSITEが指定されている場合は当該画面のみ削除
				IFb pos(targetSITE, STATUS(ALL_WIN_ID[i], ST_TITLE)) > 0 then
					CTRLWIN(ALL_WIN_ID[i], CLOSE)
				endif
			endif
		endif
	next
FEND

 

このサンプルの場合、

CLOSE_IE(“”)と引数無しだと、IEの全画面を閉じる

CLOSE_IE(“ポイントサイト”)とすると、「ポイントサイト」というタイトルの画面のみを閉じる

となります。

 

もちろん、もっとカスタマイズすれば、いろんな条件などを付けられますね。

また、今回のサンプルでは、「POS(“iexplore.exe”, STRCONV(STATUS(ALL_WIN_ID[i], ST_PATH),SC_LOWERCASE)) <> 0 」としており、「IE」のみを閉じるプログラムになっていますが、もちろん他のウインドウを閉じるようにすることも可能です。

 

 

UWSCの「GETALLWIN」でchromeの全てのウィンドウを閉じるサンプルコード。

ブラウザがchromeやfirefoxの場合も同様です。

プログラムを拾って閉じてやればOKです。

//画面削除
for i = 0 to GETALLWIN()-1
    if POS("chrome.exe", STRCONV(STATUS(ALL_WIN_ID[i], ST_PATH),SC_LOWERCASE)) <>  0 then CTRLWIN(ALL_WIN_ID[i], CLOSE)
next

 

 

【補足】共通処理のクラス化、プロセス操作による全画面削除について。

今回のような処理は、頻繁に画面を閉じる操作をする場合、共通化しておくのが便利です。UWSCのクラス化については、以下の記事に記載していますので、合わせてご確認ください。

UWSCの共通処理は、別ファイルにクラス化しておくと非常に便利ですよ。
共通処理は別ファイルに部品化しておくと、実装やメンテナンスが効率化できます。 UWSCでスクリプトを作成すると「.UWS」形式のファイルを作成するかと思います。 通常は、目的とする全ての処理をこの「.UWS」のファイルに記述します。 なので...

 

また、IEがフリーズしてしまったりしている場合は、本記事の処理では閉じられないことがあります。その場合はタスクキルしてみてください。

UWSCでCOMエラーが出たら、初心者が確認すべきチェックリスト。原因不明でもタスクキルで改善する場合もある。
マクロ・スクリプトとしてUWSCを使ってIE処理していると、たまにアプリのCOM_Error、フリーズ、クラッシュ、強制終了などが発生する場合がある。 IEなどの操作をUWSCで実行していると、以下のような現象が発生する場合があります。 「...