お世話になります。
自社ソフトへ、csvデータをアップロードする作業を自動化したいと考えております。
流れとしては
①ソフトを起動
②画像マッチングにてボタン操作
③指定フォルダに格納されたデータをアップロード
④アップロード結果によってOKまたはNGフォルダへ移動
②へ戻り、格納データ数ループ
以上です。
1回目のループは問題なく動くのですが、2回めに入った際に②から動かなくなってしまいます…
マウス操作でソフト画面をクリックすると進むので、
アクティブウィンドウが切り替わってしまっているのではないかと考え
GETIDにて強制アクティブ化を試みましたが改善に至りませんでした。
また、④のフォルダ移動も2回目以降はどうやら上手く動いていないようです。
現在のコードは下記のとおりです。
UWSC
1 2// UPLOAD対象ファイル数を取得 3UPLOAD = "ファイルパス" 4n = GETDIR(UPLOAD,"*.csv*") 5 6// 自社ソフトの起動 7id = EXEC("ここにソフトパス") 8 9//対象ファイル数ループ 10FOR A = 1 TO n 11 12(省略)ここに画像マッチング用の各画像をセット 13 14 // 2回目以降は再度アクティブ命令 15 IFB A > 1 THEN 16 CTRLWIN( id , TOPMOST ) 17 CTRLWIN( id , ACTIVATE ) 18 CHKIMG(PATH) 19 BTN(LEFT,CLICK,G_IMG_X+30,G_IMG_Y+30) 20 SLEEP(0.1) 21 ENDIF 22 23 WHILE CHKIMG(マッチング画像)=FALSE 24 SLEEP(0.1) 25 WEND 26 BTN(LEFT,CLICK,G_IMG_X+30,G_IMG_Y+30) 27 SLEEP(0.5) 28 29 (省略)ファイルアップロード操作 30 31 // UL結果が表示されるまで待機 32 WHILE (CHKIMG(FINISH) OR CHKIMG(ERROR))=FALSE 33 SLEEP(0.01) 34 WEND 35 36 // UL結果がOKならOKフォルダへ、エラーならNGフォルダへ移動 37 IFB CHKIMG(FINISH) THEN 38 KBD(VK_RETURN,CLICK,10) 39 CMDSTR = "move " + UPLOAD + " " + TO_URL_OK 40 DOSCMD(CMDSTR,FALSE,TRUE) 41 ELSE 42 KBD(VK_RETURN,CLICK,10) 43 MSGBOX (UPLOAD) 44 CMDSTR = "move " + UPLOAD + " " + TO_URL_NG 45 DOSCMD(CMDSTR,FALSE,TRUE) 46 ENDIF 47 48NEXT 49 50CTRLWIN(id, CLOSE2) 51
どうぞ宜しくお願い致しますm(__)m
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。