UWSCが閉鎖されたようなので、スクリプトをAutoitに書き換えたいと思います。
Autoitは海外では有名なBasic似たスクリプト言語です。画像認識も得意だしGUIも簡単に作れます。
本家サイト: 英語です
参考サイト: 変換するコードこちらから拾いました。
Autoit 他の記事:
UWSC : WebサイトのデータをExcelで会社名順に並び替える(No11)
コード説明:Web上のデータをクリップボードにコピーしExcelに貼り付け、Excelデータを整形しA列に会社名すべて並べ、最後にソートします。
動かなかったので、少し修正しました。
//SAMPLE11:WebサイトのデータをExcelで会社名順に並び替える
//http://class.2kki.com/uwsc/#sample11
IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.visible = True
IE.navigate("http://class.2kki.com/uwsc/020.html")
//開くの待つ
REPEAT
SLEEP(0.1)
UNTIL !IE.BUSY AND IE.READYSTATE = 4
//クリップボードに全て送る
SENDSTR(0, IE.document.body.innerHTML)
EXCEL = CREATEOLEOBJ("Excel.Application")
EXCEL.visible = True
EXCEL.workbooks.Add
EXCEL.Range("A1").Select
EXCEL.ActiveSheet.Paste
//いらない部分消す
EXCEL.Columns("A:D").Select
EXCEL.Selection.Delete
EXCEL.Rows("1").Select
EXCEL.Selection.Delete
//会社名をA列たてに並べる(1)
EXCEL.Range("C1:H99").Select
EXCEL.Selection.Cut
EXCEL.Range("A100").Select
EXCEL.ActiveSheet.Paste
//(2)
EXCEL.Range("C100:F198").Select
EXCEL.Selection.Cut
EXCEL.Range("A199").Select
EXCEL.ActiveSheet.Paste
//(3)
EXCEL.Range("C199:D297").Select
EXCEL.Selection.Cut
EXCEL.Range("A298").Select
EXCEL.ActiveSheet.Paste
//AB列選択
EXCEL.Columns("A:B").Select
// Alt→A→S→A 並べ替え(Data Sort)
//キー変更 IDの名前変更-----------------------
SCKEY(GETID("Book1 - Excel"), VK_ALT, VK_A, VK_S,VK_A)
IE.QUIT
Autoitに変換
(1)変数の前に$をつける(Autoitの変数は$で始まります)
(2)コメント行は//から;に変える、正規表現で検索置き換えが楽です。
(3)IEでURL開く、3行は一行に
IE = CREATEOLEOBJ(“InternetExplorer.Application”)
IE.visible = True
IE.navigate(“http://class.2kki.com/uwsc/020.html”)
*********
;先頭に
#include <IE.au3>
$IE = _IECreate(“http://class.2kki.com/uwsc/020.html”) ;IE でURL開く
(4)URL開くまで待つ
REPEAT
SLEEP(0.1)
UNTIL !IE.BUSY AND IE.READYSTATE = 4
***************
_IELoadWait($IE);IE load待つ
(5)クリップボードにデータ入れる
SENDSTR(0, “文字列”)
******************
ClipPut(“文字列”)
(6)Excel開く
CREATEOLEOBJ(“Excel.Application”)
******************
ObjCreate(“Excel.Application”)
(7)キーを送る
SCKEY(GETID(“Book1 – Excel”), VK_ALT, VK_A, VK_S,VK_A)
*****************************
Send(“!a”)
Send(“s”)
Send(“a”)
以上
;SAMPLE11:WebサイトのデータをExcelで会社名順に並び替える
;http://class.2kki.com/uwsc/#sample11
#include <IE.au3>
$oIE = _IECreate("http://class.2kki.com/uwsc/020.html") ;IE でURL開く
;開くの待つ
_IELoadWait($oIE);IE load待つ
;クリップボードに全て送る
ClipPut($oIE.document.body.innerHTML)
$oExcel = ObjCreate("Excel.Application")
$oExcel.visible = True
$oExcel.workbooks.Add
$oExcel.Range("A1").Select
$oExcel.ActiveSheet.Paste
;いらない部分消す
$oExcel.Columns("A:D").Select ;ooo
$oExcel.Selection.Delete
$oExcel.Rows("1").Select
$oExcel.Selection.Delete
;会社名をA列たてに並べる(1)
$oExcel.Range("C1:H99").Select
$oExcel.Selection.Cut
$oExcel.Range("A100").Select
$oExcel.ActiveSheet.Paste
;(2)
$oExcel.Range("C100:F198").Select
$oExcel.Selection.Cut
$oExcel.Range("A199").Select
$oExcel.ActiveSheet.Paste
;(3)
$oExcel.Range("C199:D297").Select
$oExcel.Selection.Cut
$oExcel.Range("A298").Select
$oExcel.ActiveSheet.Paste
;AB列選択
$oExcel.Columns("A:B").Select
; Alt→A→S→A 並べ替え(Data Sort)
;キー変更 IDの名前変更-----------------------
Send("!a")
Send("s")
Send("a")
$oIE.QUIT
実行してる動画(あっという間に終わります)
スタートはショートカットキーのダブルクリックです。
コメント