【UWSC】でMs-Edgeを捕まえて操作する

目次

2020.01.15発表、新Ms’Edgeを【UWSC】で操作テスト

Chromium ベースの新しい Microsoft Edge をダウンロードする

インストールすると、今までのEdgeと違い「msedge.exe」がProgram Filesの下にある。

私のパソコンの環境だと、C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe

これで、UWSCで起動できるようになる。

Edge = EXEC( “C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe” )

ウィンドウのタイトルを取得するUWSCを作成する

ID=GETID("EDGE")	
N=0	
REPEAT	
	SLEEP(0.5)
	N=N+1
	CTRLWIN(ID,ACTIVATE)
	RET=STATUS(ID,ST_ACTIVE)
UNTIL RET OR N>25	
IFB RET THEN	
	PRINT "アクティブなウィンドウのタイトル"
	PRINT STATUS(ID,ST_TITLE)
ELSE	
	PRINT "TIME OVER"
ENDIF

※ id = getid(“Edge”)を id = getid(“Chrome”)にすればクロームで使える

※ 小文字、大文字は関係ないがとりあえず全て大文字にしてみた。

下記に「Chromeで動くUWSCマクロ」を「①Edgeに変えて動作」させてみる

2019.04.06福島4R サラ系障害4歳以上未勝利をEdgeで表示する

//Edgeを閉じる!!
CTRLWIN(GETID("EDGE"),CLOSE)
//環境に合わせて変更すること

EDGE = EXEC( "C:\Program Files\Microsoft\Edge\Application\MSEDGE.EXE" )

SLEEP(1)
//JRAのsitemapを立ち上げる
URL="http://www.jra.go.jp/sitemap/"	
SENDSTR(EDGE, URL)	
SCKEY(EDGE, VK_RETURN)	

//EXEC("CMD /C START= http://www.jra.go.jp/sitemap/")	

SLEEP(1)	

ID=GETID("サイトマップ JRA - 個人 - MICROSOFT EDGE")	
SLEEP(0.5)	
CTRLWIN(ID,ACTIVATE)	
SLEEP(0.5)	
RET=STATUS(ID, ST_ACTIVE)	
IFB !RET THEN	
	PRINT "「サイトマップ」ではありません"
	PRINT ID
	SLEEP(5)
	EXIT
ENDIF	
	
//サイトマップから文字列検索し
//「レース結果」をクリック	
SLEEP(1)
//クリップボードに文字を送る	
SENDSTR(0, "レース結果") 	
SLEEP(0.5)	
KBD(VK_CTRL,DOWN)	
KBD(VK_F,DOWN)	
SLEEP(0.5)	
KBD(VK_CTRL,UP)	
KBD(VK_F,UP)	
SLEEP(0.5)	
KBD(VK_CTRL,DOWN)	
KBD(VK_V,DOWN)	
SLEEP(0.5)	
KBD(VK_CTRL,UP)	
KBD(VK_V,UP)	
SLEEP(0.5)	
KBD(VK_ESC,CLICK)	
SLEEP(0.5)	
KBD(VK_RETURN,CLICK)	
SLEEP(1)	
ID=GETID("レース結果 開催選択 JRA - 個人 - MICROSOFT EDGE")
	
SLEEP(0.5)	
CTRLWIN(ID,ACTIVATE)	
SLEEP(0.5)	
RET=STATUS(ID, ST_ACTIVE)	
IFB !RET THEN	
	PRINT "「レース結果 開催選択」ではありません"
	PRINT ID
	SLEEP(5)
	EXIT
ENDIF	
	
//レース結果 開催選択から文字列検索し
//「過去レース結果検索」をクリック	
SLEEP(1)
//クリップボードに文字を送る	
SENDSTR(0, "過去レース結果検索")	
SLEEP(0.5)	
KBD(VK_CTRL,DOWN)	
KBD(VK_F,DOWN)	
SLEEP(0.5)	
KBD(VK_CTRL,UP)	
KBD(VK_F,UP)	
SLEEP(0.5)	
KBD(VK_CTRL,DOWN)	
KBD(VK_V,DOWN)	
SLEEP(0.5)	
KBD(VK_CTRL,UP)	
KBD(VK_V,UP)	
SLEEP(0.5)	
KBD(VK_ESC,CLICK)	
SLEEP(0.5)	
KBD(VK_RETURN,CLICK)	
SLEEP(1)	
ID=GETID("過去レース結果検索 JRA - 個人 - MICROSOFT EDGE")
	
SLEEP(0.5)	
CTRLWIN(ID,ACTIVATE)	
SLEEP(0.5)	
RET=STATUS(ID, ST_ACTIVE)	
IFB !RET THEN	
	PRINT "「過去レース結果検索」ではありません"
	PRINT ID
	SLEEP(5)
	EXIT
ENDIF	
//過去レース結果検索から文字列検索し
//「開催年月」を選択	
SLEEP(1)
//クリップボードに文字を送る	
SENDSTR(0, "開催年月")	
SLEEP(0.5)	
KBD(VK_CTRL,DOWN)	
KBD(VK_F,DOWN)	
SLEEP(0.5)	
KBD(VK_CTRL,UP)	
KBD(VK_F,UP)	
SLEEP(0.5)	
KBD(VK_CTRL,DOWN)	
KBD(VK_V,DOWN)	
SLEEP(0.5)	
KBD(VK_CTRL,UP)	
KBD(VK_V,UP)	
SLEEP(0.5)	
KBD(VK_ESC,CLICK)	
SLEEP(0.5)	
KBD(VK_TAB,CLICK)	
SLEEP(0.5)	
KBD(VK_2,CLICK)	
KBD(VK_0,CLICK)	
KBD(VK_1,CLICK)	
KBD(VK_9,CLICK)	
KBD(VK_TAB,CLICK)	
SLEEP(0.5)	
//KBD(VK_0,CLICK)	
KBD(VK_4,CLICK)	
KBD(VK_TAB,CLICK)	
KBD(VK_RETURN,CLICK)	
SLEEP(1)	
ID=GETID("過去レース結果検索 JRA - 個人 - MICROSOFT EDGE")
	
SLEEP(0.5)	
CTRLWIN(ID,ACTIVATE)	
SLEEP(0.5)	
RET=STATUS(ID, ST_ACTIVE)	
IFB !RET THEN	
	PRINT "「過去レース結果検索」ではありません"
	PRINT ID
	SLEEP(5)
	EXIT
ENDIF	
	
//過去レース結果検索「1回福島1日」をクリック	
SLEEP(1)	
//クリップボードに文字を送る
SENDSTR(0, "1回福島1日")	
SLEEP(0.5)	
KBD(VK_CTRL,DOWN)	
KBD(VK_F,DOWN)	
SLEEP(0.5)	
KBD(VK_CTRL,UP)	
KBD(VK_F,UP)	
SLEEP(0.5)	
KBD(VK_CTRL,DOWN)	
KBD(VK_V,DOWN)	
SLEEP(0.5)	
KBD(VK_CTRL,UP)	
KBD(VK_V,UP)	
SLEEP(0.5)	
KBD(VK_ESC,CLICK)	
SLEEP(0.5)	
KBD(VK_RETURN,CLICK)	
SLEEP(1)	
ID=GETID("レース結果 レース選択 JRA - 個人 - MICROSOFT EDGE")
	
SLEEP(0.5)	
CTRLWIN(ID,ACTIVATE)	
SLEEP(0.5)	
RET=STATUS(ID, ST_ACTIVE)	
IFB !RET THEN	
	PRINT "「レース結果 レース選択」ではありません"
	PRINT ID
	SLEEP(5)
	EXIT
ENDIF	
	
//過去レース結果検索
//「障害4歳以上未勝利」をクリック	
SLEEP(1)
//クリップボードに文字を送る
SENDSTR(0, "障害4歳以上未勝利")	
SLEEP(0.5)	
KBD(VK_CTRL,DOWN)	
KBD(VK_F,DOWN)	
SLEEP(0.5)	
KBD(VK_CTRL,UP)	
KBD(VK_F,UP)	
SLEEP(0.5)	
KBD(VK_CTRL,DOWN)	
KBD(VK_V,DOWN)	
SLEEP(0.5)	
KBD(VK_CTRL,UP)	
KBD(VK_V,UP)	
SLEEP(0.5)	
KBD(VK_ESC,CLICK)	
SLEEP(0.5)	
KBD(VK_RETURN,CLICK)	
KBD(VK_SHIFT,DOWN)	
KBD(VK_TAB,CLICK)	
SLEEP(0.5)	
KBD(VK_SHIFT,UP)	
KBD(VK_RETURN,CLICK)	
SLEEP(1)	
ID=GETID("レース結果 JRA - 個人 - MICROSOFT EDGE")
	
SLEEP(0.5)	
CTRLWIN(ID,ACTIVATE)	
SLEEP(0.5)	
RET=STATUS(ID, ST_ACTIVE)	
IFB !RET THEN	
	PRINT "「レース結果 JRA」ではありません"
	PRINT ID
	SLEEP(5)
	EXIT
ENDIF

上記マクロをChrome用に書く⇒変更点は2ヵ所のみ

  • MSEDGE.EXE ⇒ chrome.exe
  • GETID(“レース結果 JRA – 個人 – MICROSOFT EDGE”) ⇒ GETID(“レース結果 JRA”,”chrome”)
//コンピュータ名を取得する	
DIM WSHSHELL = CREATEOLEOBJ("WSCRIPT.SHELL")	
COMNAME= TRIM(WSHSHELL.EXPANDENVIRONMENTSTRINGS("%COMPUTERNAME%"))	
//PRINT "COMPUTERNAME:" + COMNAME	
	
//JRAのホームページを立ち上げる	
	
CTRLWIN(GETID("chrome"),CLOSE)

//	CHROME = EXEC( "C:\PROGRAM FILES (X86)\Google\Chrome\Application\chrome.exe" )	
	CHROME = EXEC( "C:\Program Files\Google\Chrome\Application\chrome.exe" )

SLEEP(1)	
URL="http://www.jra.go.jp/sitemap/"	
SENDSTR(CHROME, URL)	
SCKEY(CHROME, VK_RETURN)	
SLEEP(1)	
	
//EXEC("CMD /C START=http://www.jra.go.jp/sitemap/")	
//SLEEP(1)	
ID=GETID("サイトマップ JRA","chrome")	
SLEEP(0.5)	
CTRLWIN(ID,ACTIVATE)	
SLEEP(0.5)	
RET=STATUS(ID, ST_ACTIVE)	
IFB !RET THEN	
	PRINT "「サイトマップ」ではありません"
	PRINT ID
	SLEEP(5)
	EXIT
ENDIF	
	
//サイトマップから 文字列検索し「レース結果」をクリック	
SLEEP(1)	
SENDSTR(0, "レース結果") //クリップボードに文字を送る	
SLEEP(0.5)	
KBD(VK_CTRL,DOWN)	
KBD(VK_F,DOWN)	
SLEEP(0.5)	
KBD(VK_CTRL,UP)	
KBD(VK_F,UP)	
SLEEP(0.5)	
KBD(VK_CTRL,DOWN)	
KBD(VK_V,DOWN)	
SLEEP(0.5)	
KBD(VK_CTRL,UP)	
KBD(VK_V,UP)	
SLEEP(0.5)	
KBD(VK_ESC,CLICK)	
SLEEP(0.5)	
KBD(VK_RETURN,CLICK)	
SLEEP(1)	
ID=GETID("レース結果 開催選択 JRA","chrome")	
SLEEP(0.5)	
CTRLWIN(ID,ACTIVATE)	
SLEEP(0.5)	
RET=STATUS(ID, ST_ACTIVE)	
IFB !RET THEN	
	PRINT "「レース結果 開催選択」ではありません"
	PRINT ID
	SLEEP(5)
	EXIT
ENDIF	
	
//レース結果 開催選択から 文字列検索し「過去レース結果検索」をクリック	
SLEEP(1)	
SENDSTR(0, "過去レース結果検索") //クリップボードに文字を送る	
SLEEP(0.5)	
KBD(VK_CTRL,DOWN)	
KBD(VK_F,DOWN)	
SLEEP(0.5)	
KBD(VK_CTRL,UP)	
KBD(VK_F,UP)	
SLEEP(0.5)	
KBD(VK_CTRL,DOWN)	
KBD(VK_V,DOWN)	
SLEEP(0.5)	
KBD(VK_CTRL,UP)	
KBD(VK_V,UP)	
SLEEP(0.5)	
KBD(VK_ESC,CLICK)	
SLEEP(0.5)	
KBD(VK_RETURN,CLICK)	
SLEEP(1)	
ID=GETID("過去レース結果検索 JRA","chrome")	
SLEEP(0.5)	
CTRLWIN(ID,ACTIVATE)	
SLEEP(0.5)	
RET=STATUS(ID, ST_ACTIVE)	
IFB !RET THEN	
	PRINT "「過去レース結果検索」ではありません"
	PRINT ID
	SLEEP(5)
	EXIT
ENDIF	
//過去レース結果検索から 文字列検索し「開催年月」を選択	
SLEEP(1)	
SENDSTR(0, "開催年月") //クリップボードに文字を送る	
SLEEP(0.5)	
KBD(VK_CTRL,DOWN)	
KBD(VK_F,DOWN)	
SLEEP(0.5)	
KBD(VK_CTRL,UP)	
KBD(VK_F,UP)	
SLEEP(0.5)	
KBD(VK_CTRL,DOWN)	
KBD(VK_V,DOWN)	
SLEEP(0.5)	
KBD(VK_CTRL,UP)	
KBD(VK_V,UP)	
SLEEP(0.5)	
KBD(VK_ESC,CLICK)	
SLEEP(0.5)	
KBD(VK_TAB,CLICK)	
SLEEP(0.5)	
KBD(VK_2,CLICK)	
KBD(VK_0,CLICK)	
KBD(VK_1,CLICK)	
KBD(VK_9,CLICK)	
KBD(VK_TAB,CLICK)	
SLEEP(0.5)	
//KBD(VK_0,CLICK)	
KBD(VK_4,CLICK)	
KBD(VK_TAB,CLICK)	
KBD(VK_RETURN,CLICK)	
SLEEP(1)	
ID=GETID("過去レース結果検索 JRA","chrome")	
SLEEP(0.5)	
CTRLWIN(ID,ACTIVATE)	
SLEEP(0.5)	
RET=STATUS(ID, ST_ACTIVE)	
IFB !RET THEN	
	PRINT "「過去レース結果検索」ではありません"
	PRINT ID
	SLEEP(5)
	EXIT
ENDIF	
	
//過去レース結果検索「1回福島1日」をクリック	
SLEEP(1)	
SENDSTR(0, "1回福島1日") //クリップボードに文字を送る	
SLEEP(0.5)	
KBD(VK_CTRL,DOWN)	
KBD(VK_F,DOWN)	
SLEEP(0.5)	
KBD(VK_CTRL,UP)	
KBD(VK_F,UP)	
SLEEP(0.5)	
KBD(VK_CTRL,DOWN)	
KBD(VK_V,DOWN)	
SLEEP(0.5)	
KBD(VK_CTRL,UP)	
KBD(VK_V,UP)	
SLEEP(0.5)	
KBD(VK_ESC,CLICK)	
SLEEP(0.5)	
KBD(VK_RETURN,CLICK)	
SLEEP(1)	
ID=GETID("レース結果 レース選択 JRA","chrome")	
SLEEP(0.5)	
CTRLWIN(ID,ACTIVATE)	
SLEEP(0.5)	
RET=STATUS(ID, ST_ACTIVE)	
IFB !RET THEN	
	PRINT "「レース結果 レース選択」ではありません"
	PRINT ID
	SLEEP(5)
	EXIT
ENDIF	
	
//過去レース結果検索「障害4歳以上未勝利」をクリック	
SLEEP(1)	
SENDSTR(0, "障害4歳以上未勝利") //クリップボードに文字を送る	
SLEEP(0.5)	
KBD(VK_CTRL,DOWN)	
KBD(VK_F,DOWN)	
SLEEP(0.5)	
KBD(VK_CTRL,UP)	
KBD(VK_F,UP)	
SLEEP(0.5)	
KBD(VK_CTRL,DOWN)	
KBD(VK_V,DOWN)	
SLEEP(0.5)	
KBD(VK_CTRL,UP)	
KBD(VK_V,UP)	
SLEEP(0.5)	
KBD(VK_ESC,CLICK)	
SLEEP(0.5)	
KBD(VK_RETURN,CLICK)	
KBD(VK_SHIFT,DOWN)	
KBD(VK_TAB,CLICK)	
SLEEP(0.5)	
KBD(VK_SHIFT,UP)	
KBD(VK_RETURN,CLICK)	
SLEEP(1)	
ID=GETID("レース結果 JRA","chrome")	
SLEEP(0.5)	
CTRLWIN(ID,ACTIVATE)	
SLEEP(0.5)	
RET=STATUS(ID, ST_ACTIVE)	
IFB !RET THEN	
	PRINT "「レース結果 JRA」ではありません"
	PRINT ID
	SLEEP(5)
	EXIT
ENDIF

//EDGE = EXEC( "C:\Program Files\Microsoft\Edge\Application\MSEDGE.EXE" )	'↓
//CHROME = EXEC( "C:\Program Files (X86)\Google\Chrome\Application\chrome.exe" )
//ID=GETID("レース結果 JRA - 個人 - MICROSOFT EDGE")				'↓
//ID=GETID("レース結果 JRA","chrome")	

Chrome+UWSC , Edge+UWSC それぞれの推しポイント

Chrome+UWSC

  • 指定の仕方はChromeの方が簡単。 「”レース結果 ”,”chrome”」で動く
  • 拡張機能が充実(これは今だけのことかもしれない…)
  • 個人的なマクロ資産がある(これは私だけかも知れない…)

Edge+UWSC

  • Officeとの連携。特にExcelとEdgeの連携
  • WIN11がMS-Edgeベースで動いている
adono

UWSCはWindows11で動作する(私のモジュールは)

編集後記

Windowsマクロテクニック: 超速!!(UWSCの使い方)

Windowsマクロテクニック: 超速!!

  1. マクロの基礎知識
  2. 実践!サンプルマクロ集
  3. UWSCで使える関数や制御文
  4. 他のアプリケーションの高度な制御方法
  5. マクロをもっと使いこなそう
  • あとがき
  • 付録
  • 索引

※UWSCの書籍として今も購入可能なモノは2種のみなので、その点を考慮すると★5になるが運よく中古があれば500円以下で購入可能!
Amazonレビューは★3.9

私のKindle-Unlimited評価は★3

Windowsを自動化!UWSC逆引き本 Kindle版

Windowsを自動化!UWSC逆引き本 Kindle版

  1. はじめに
  2. UWSCについて
  3. UWSCスクリプトをつくる
  4. 文字を操作する
  5. 配列を操作する
  6. ファイルを操作する
  7. ウィンドウを操作する
  8. システムを制御する
  9. ブラウザを操作する
  10. Officeスイートを操作する
  11. 高度な操作

Kindle販売なので在庫がなくなることはない?
UWSCの読み物として暇なときに見るようにしている
Amazonレビューは★3.9

私のKindle-Unlimited評価は★3

2024.1.24時点でもWin11上でUWSCは使えているが、今後AIの進化!さしずめ ChatGPT , Microsoft365 Copilot , Power Automate が、2024年は更に加速度的に相乗効果でMicrosoft一強へ動き出すかもしれない🦆

それでは、またね~😎

目次