見出し画像

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
//----------------------------------------------------------------------

練習用のプログラムの内容

  1. 「Google Chrome」、「Excel」の存在確認

  2. 「Google Chrome」で新しいタブを作り、「note」に移動

  3. 任意のアイテムをエクセルに出力

プログラムの有効化、コメント化
ダブルスラッシュを取ることでプログラムを有効にできます。
ダブルスラッシュを付けることで、コメントにできます。

計画的な中断
//MSGBOX("中断!")  → MSGBOX("中断!")
//EXITEXIT → EXITEXIT

再生中の中断や一時停止
停止ホットキー(デフォルト:Alt +F2)にて中断できます
再生ホットキー(デフォルト:Alt +F1)にて一時停止ができます

有料部分は、誰でも調べればわかる簡単な内容です。
それすらわからない、面倒くさいという方向けです。
プログラムを修正できなかったあなたは、プログラムを修正できるようになりましたか?

次は「4.プログラム構成を検討する」です。

ここから先は

2,036字

¥ 500

この記事が気に入ったらサポートをしてみませんか?