3.会社の許可を得る(その間にプログラムを修正できるようにする)【UWSC】
UWSCの準備ができ、画面の分析ができています。次は、途中で中断したり、修正したりという練習をします。
そのための練習用のプログラムを用意しました。
コードをコピーし任意の名前で保存しますが拡張子は「.UWS」とします。
(※実行には「UWSC」、「Google Chrome」、「Excel」が必須です)
//----------------------------------------------------------------------
//Google Chrome で note を検索、表示させ、データをエクセルに出力(例)
//----------------------------------------------------------------------
//----------------------------------------------------------------------
//ガード条件1------------------------------------------------------------
//----------------------------------------------------------------------
GETALLWIN() //全ウィンドウ数の取得
FLAG=0
FOR i = 0 TO (LENGTH(ALL_WIN_ID) - 1)
if pos("Google Chrome",STATUS(ALL_WIN_ID[i],ST_TITLE))>0 then
FLAG=1
ENDIF
NEXT
IF FLAG=1 THEN
//MSGBOX("Google Chrome が見つかりました") // 画面がない処理
//PRINT "あり(例:何もしない)"
ELSE
MSGBOX("Google Chrome が見つかりません") // 画面がない処理
EXITEXIT
ENDIF
//----------------------------------------------------------------------
//ガード条件2-----------------------------------------------------------
//----------------------------------------------------------------------
GETALLWIN() //全ウィンドウ数の取得
FLAG=0
FOR i = 0 TO (LENGTH(ALL_WIN_ID) - 1)
IF pos("Excel",STATUS(ALL_WIN_ID[i],ST_TITLE))>0 then
FLAG=1
ENDIF
NEXT
IF FLAG=1 THEN
//MSGBOX("Excel が見つかりました") // 画面がない処理
//PRINT "あり(例:何もしない)"
ELSE
MSGBOX("Excel が見つかりません") // 画面がない処理
PRINT "なし(例:メッセージボックスを表示)"
EXITEXIT
ENDIF
//----------------------------------------------------------------------
TIME1=GetTime() //開始時
Fukidasi("処理中")
//----------------------------------------------------------------------
Excel=GETACTIVEOLEOBJ("Excel.Application")
//最後のセルを選択
EXCEL.Range("A1048576").Select //下端へ
EXCEL.ActiveCell.End(-4162).Select //上へ
R= EXCEL.ActiveCell.Row+1 //出力開始行
//----------------------------------------------------------------------
//Google Chrome の処理
//----------------------------------------------------------------------
id=GETID("Google Chrome", "Chrome_WidgetWin_1", -1)
clkitem(id,"新しいタブ",CLK_BTN)
id=getid("新しいタブ - Google Chrome","Chrome_WidgetWin_1")
sendstr(id,"https://note.com/ ",1,TRUE)
SLEEP(1.0)
KEY(ID,VK_ENTER)
id=getid("note ――つくる、つながる、とどける。","Chrome_WidgetWin_1",-1)
//----------------------------------------------------------------------
//アイテムを全部取り込む(待機処理)
//----------------------------------------------------------------------
// N1=getitem(id,ITM_BTN,-1) // ボタン、チェックボックス、ラジオボタン
// N1=getitem(id,ITM_LIST,-1) // リストボックス、コンボボックス
// N1=getitem(id,ITM_TAB,-1) // タブコントロール
// N1=getitem(id,ITM_MENU,-1) // メニュー
// N1=getitem(id,ITM_TREEVEW,-1) // ツリービュー
// N1=getitem(id,ITM_LSTVEW,-1) // リストビュー
// N1=getitem(id,ITM_TOOLBAR,-1) // ツールバー
N1=getitem(id,ITM_ACCCLK,-1) // アクセシビリティ用I/F経由でのクリック可能な物
// N1=getitem(id,ITM_EDIT,-1) // エディトボックス
// N1=getitem(id,ITM_STATIC,-1) // スタティク
// N1=getitem(id,ITM_STATUSBAR,-1) // ステータスバー
// N1=getitem(id,ITM_ACCTXT,-1) // アクセシビリティ用I/F経由でのテキスト
WHILE TRUE
SLEEP(0.1)
// N2=getitem(id,ITM_BTN,-1) // ボタン、チェックボックス、ラジオボタン
// N2=getitem(id,ITM_LIST,-1) // リストボックス、コンボボックス
// N2=getitem(id,ITM_TAB,-1) // タブコントロール
// N2=getitem(id,ITM_MENU,-1) // メニュー
// N2=getitem(id,ITM_TREEVEW,-1) // ツリービュー
// N2=getitem(id,ITM_LSTVEW,-1) // リストビュー
// N2=getitem(id,ITM_TOOLBAR,-1) // ツールバー
N2=getitem(id,ITM_ACCCLK,-1) // アクセシビリティ用I/F経由でのクリック可能な物
// N2=getitem(id,ITM_EDIT,-1) // エディトボックス
// N2=getitem(id,ITM_STATIC,-1) // スタティク
// N2=getitem(id,ITM_STATUSBAR,-1) // ステータスバー
// N2=getitem(id,ITM_ACCTXT,-1) // アクセシビリティ用I/F経由でのテキスト
IF N1=N2 THEN
PRINT "アイテム数:"+N1
BREAK
ELSE
PRINT "N1:"+N1+" N2:"+N2
N1=N2
N2=""
ENDIF
WEND
//----------------------------------------------------------------------
//Excel への出力
//----------------------------------------------------------------------
FOR i = 0 TO N1-1
Excel.ActiveSheet.Cells(r,1).Value= (i+1)+":"+ALL_ITEM_LIST[i]
R=R+1
NEXT
//----------------------------------------------------------------------
//時間計測
//----------------------------------------------------------------------
PRINT "---------------------"
TIME2=GetTime() //終了時
PRINT (TIME2-TIME1)+"秒"
//----------------------------------------------------------------------
//メッセージボックス(完了時にメッセージを出す)
//----------------------------------------------------------------------
Fukidasi()
MSGBOX("完了しました!")
//----------------------------------------------------------------------
//MSGBOX("中断!")
//EXITEXIT
//----------------------------------------------------------------------
練習用のプログラムの内容
「Google Chrome」、「Excel」の存在確認
「Google Chrome」で新しいタブを作り、「note」に移動
任意のアイテムをエクセルに出力
プログラムの有効化、コメント化
ダブルスラッシュを取ることでプログラムを有効にできます。
ダブルスラッシュを付けることで、コメントにできます。
計画的な中断
//MSGBOX("中断!") → MSGBOX("中断!")
//EXITEXIT → EXITEXIT
再生中の中断や一時停止
停止ホットキー(デフォルト:Alt +F2)にて中断できます
再生ホットキー(デフォルト:Alt +F1)にて一時停止ができます
有料部分は、誰でも調べればわかる簡単な内容です。
それすらわからない、面倒くさいという方向けです。
プログラムを修正できなかったあなたは、プログラムを修正できるようになりましたか?
次は「4.プログラム構成を検討する」です。
ここから先は
2,036字
¥ 500
この記事が気に入ったらサポートをしてみませんか?