
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
実行してる動画(あっという間に終わります)
スタートはショートカットキーのダブルクリックです。
コメント