5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

自動化ツールUWSC使いよ集まれ13

1 :名無しさん@お腹いっぱい。:2014/10/18(土) 11:46:19.83 ID:yC04f7EM0
Windowsの作業を自動化するツール
フリーソフト版とシェアウェア版の2種類がある
ttp://www.uwsc.info/download.html

●UWSC 掲示板(※作成依頼掲示版ではありません)
 質問の際には自力で作ったスクリプトを晒すか、具体的な解らない場所を提示すること
 上級者が常駐、たまに作者も現れるため過去ログには有益情報の宝庫
ttp://www3.bigcosmic.com/board/s/board.cgi?id=umiumi
ttp://www3.bigcosmic.com/board/s/board.cgi?id=umiumi&mode=past

●UWSC - Wikipedia
ttp://ja.wikipedia.org/wiki/UWSC

●使い方・基礎解説学習サイト
ttp://uwsc.g.hatena.ne.jp/cx20/20100131/1264938584
ttp://www.confrage.com/uwsc/
ttp://necro.jp/dev/uwsc/
ttp://park14.wakwak.com/~simizu/uwsc/fruwsc.html
ttp://canal22.org/
ttp://big.tm.land.to/handbook/uwsc.htm
ttp://www.game-rev.com/review/gameut/uwsc.html

●スクリプトテンプレサイト
ttp://izagne.com/uwsc/
ttp://scripts.web.fc2.com/
ttp://www.nagomi-jp.net/~liners/
ttp://nem.symphonic-net.com/uwsct/0610uwsct.html
ttp://siromasa.digi2.jp/uwsc/
ttp://iriyak.adam.ne.jp/uwsc.html

952 :名無しさん@お腹いっぱい。:2015/03/05(木) 09:25:42.62 ID:6WspE9d40
まだwin8使ってる人は少数派でしょ

953 :名無しさん@お腹いっぱい。:2015/03/05(木) 10:08:40.03 ID:D9OnNOkm0
>>941です
上の画面まで進めて単独で動かすと問題ないのですが
間に挿入すると動かなくなります。
何が原因なのでしょうか?

954 :名無しさん@お腹いっぱい。:2015/03/05(木) 10:16:11.84 ID:J5P0Picy0
??

955 :名無しさん@お腹いっぱい。:2015/03/05(木) 10:22:07.69 ID:wsDu2O4N0
原因は画像にしろコードにしろ一番情報握ってる人が特定しないとしょうがないでしょ

956 :名無しさん@お腹いっぱい。:2015/03/05(木) 10:23:07.80 ID:D9OnNOkm0
>>941の入力欄が出て名前を入れてOKボタンを押すまでの
動きが出来るようになったので
前後の動きの中に出来たものを入れて最初から動かすと
>>941のところでまた変になってしまう orz

957 :名無しさん@お腹いっぱい。:2015/03/05(木) 10:26:23.95 ID:J5P0Picy0
>>953
あぁ、手動で画面遷移して上の画像の状態になった後にマクロを実行する場合は正常に動く
画面遷移の操作込みでマクロを実行すると動かないって意味?
上の画像になる前に、上の画像の時点でやりたい処理が動いてしまった可能性が高いと思う
printとかで一処理ごとにログをはいてみたらどのタイミングでどの処理が走ったか分かり易いよ

958 :名無しさん@お腹いっぱい。:2015/03/05(木) 10:27:29.12 ID:D9OnNOkm0
やってみます

959 :名無しさん@お腹いっぱい。:2015/03/05(木) 10:44:01.93 ID:SHxBBren0
適度なスリープを挿入してやれば解決すると思われる
画像を認識したけど、ソフトの方では入力等を受け付けてない状態とかだろ

960 :名無しさん@お腹いっぱい。:2015/03/06(金) 00:38:10.18 ID:TX1hhPwl0
知識取り入れようとしてもモチベが上がらねえ・・・やべえよ

961 :名無しさん@お腹いっぱい。:2015/03/06(金) 00:39:18.01 ID:TX1hhPwl0
あげちったよ

962 :名無しさん@お腹いっぱい。:2015/03/06(金) 01:12:49.64 ID:7Xu19emt0
もうダメなのかな

963 :名無しさん@お腹いっぱい。:2015/03/06(金) 02:58:30.40 ID:7zfNEKda0
WEBの自動運転(ネットショップの自動登録)をしたいんだけど
有料版って買う価値ある?
いまいち何ができるのかわからなくて迷ってる

964 :名無しさん@お腹いっぱい。:2015/03/06(金) 03:07:14.76 ID:KEHUditi0
>>963
何が出来るか分からないものに金は払わないこれ基本。

965 :名無しさん@お腹いっぱい。:2015/03/06(金) 06:29:24.83 ID:dK3gP7Sp0
>>963
無料版あるのになぜ有料版購入から検討するのか
無料しかつかってないが機能は十分だよ

自動登録については、
最近のサイトの会員登録画面は画像認証することが多いから
それがあるとマクロだと非常に困難

966 :名無しさん@お腹いっぱい。:2015/03/06(金) 06:33:11.85 ID:dK3gP7Sp0
会員登録とは言ってないか…

967 :名無しさん@お腹いっぱい。:2015/03/06(金) 06:42:42.12 ID:s9wzBW1D0
>>965
単にお布施したいんじゃないの?
別に俺は止めないよ

968 :名無しさん@お腹いっぱい。:2015/03/06(金) 06:44:41.33 ID:wnsHakhm0
買う価値ある?って聞いてるんだからお布施じゃないだろう

969 :名無しさん@お腹いっぱい。:2015/03/06(金) 12:54:36.32 ID:jaoD72Hv0
For j = 0 to GETDIR(Folderpath,"\")-1
GETDIR_FILES[j]を含む処理
Next

稀にGETDIR_FILES[j]を含む処理が配列をオーバーしてますってエラーで止まるんだけど
もう一度マクロを実行したら普通に動くから、よくわからん

970 :名無しさん@お腹いっぱい。:2015/03/06(金) 13:08:41.44 ID:dK3gP7Sp0
getdir処理
for i = 0 to resize(getdir_files)

俺ならこうかく
原因はjの値変更してるとか
getdirの処理を何処かにかいていてその処理でgetdir_filesの内容が変更されてるとかかな
というかそもそもtoの後の式って評価一度だけだっけ?

971 :名無しさん@お腹いっぱい。:2015/03/06(金) 13:21:00.66 ID:jaoD72Hv0
>>970
ヘルプのサンプルに倣ってみたけど、
確かに毎回評価してそう
ループの外側に出しておきます

972 :名無しさん@お腹いっぱい。:2015/03/06(金) 15:19:16.71 ID:+WbZl8ab0
VMware上のアプリを指定座標でうまく右クリックが発動しないため質問させてください。
以下、サンプルコードです。

ID = GETID("受信トレイ - Mozilla Thunderbird - [Windows 7-1]","VMwareUnityHostWndClass")
MOUSEORG(ID,2)
MMV(500,500)
BTN(RIGHT,CLICK,500,200)
Sleep(100/1000)

どうも右クリックが左上(おそらく座標(0,0))で発生してしまうのですが
これを指定座標で行うにはどのように改善すればいいのでしょうか。
MMVで座標を移動しているにも関わらず(0,0)に戻ってしまうのは何が原因なのでしょうか?

973 :名無しさん@お腹いっぱい。:2015/03/06(金) 16:26:15.22 ID:/iJCc5NO0
MOUSEORG(ID,2)

MOUSEORG(ID)

974 :名無しさん@お腹いっぱい。:2015/03/06(金) 16:39:54.33 ID:AJQTDqgB0
972の者ですが追記を
バックグラウンドで操作したいためmouseorgの第二引数は2を指定しています。
2の場合って特にmmv(0,0)と指定しなくても勝手に戻るものなのでしょうか?

戻るとなった場合、バックグラウンドで上手く指定座標でマウスをクリックするにはどうすればいいのか教えていただきたいです。

975 :名無しさん@お腹いっぱい。:2015/03/06(金) 17:05:51.26 ID:ogXcUXKD0
指定座標クリックするだけならmmvいらんでしょ

976 :名無しさん@お腹いっぱい。:2015/03/06(金) 17:28:44.76 ID:dK3gP7Sp0
uwscでバックグラウンド処理は個人的にオススメしない
非アクティブ操作とかは意図した動きにならないことが多いんだよね
仮想使ってるならマクロ専用環境立てた方がはるかに楽だよ

977 :名無しさん@お腹いっぱい。:2015/03/06(金) 18:37:07.36 ID:UFeDYxhV0
>>963
価値なんて人それぞれで違うんだから、取り敢えず「試用」してみれば良いだけでは?

978 :名無しさん@お腹いっぱい。:2015/03/06(金) 22:07:15.78 ID:MOyWzYKl0
>>970
ヘルプには一向に載らないけどUWSCでは昔から
FOR文で使われるカウンタ変数は値の変更を受け付けない
新しい値を代入してもエラーも出ずガン無視される
TOの値の評価もテストプログラム書かない限り永久に仕様不明

979 :名無しさん@お腹いっぱい。:2015/03/06(金) 22:23:02.07 ID:oDABZx0I0
普通のプログラマはそんな危ないことしないからどうでもいいことなんだけどね

980 :名無しさん@お腹いっぱい。:2015/03/07(土) 09:14:35.09 ID:xWIlEjBk0
ここに質問に来る大半の初心者は普通じゃないかプログラマじゃないw

981 :名無しさん@お腹いっぱい。:2015/03/07(土) 09:55:32.53 ID:nxaGyBxL0
あ、配列の要素数取得はlength関数があったのか
何かのサンプル見たからか、resizeしか使えないと思い込んでたわ
for inもスッキリするんだけどヘルプに使い方載ってないから
どれが使えるのか動作確認しないとよく分からん

982 :名無しさん@お腹いっぱい。:2015/03/07(土) 17:09:33.57 ID:O3eDAeLM0
>>981
for in はヘルプに例へのリンクがあるよ
グローバル配列に戻り値を入れる関数とかは繋げられるみたい
でも同じグローバル配列を使用するループでネストするとちょっと微妙な動作になる
(あたりまえだけどね)

983 :名無しさん@お腹いっぱい。:2015/03/07(土) 21:09:03.93 ID:xWIlEjBk0
>>981
lengthだと文字列長と同名で紛らわしい上、−1しないといけない
length:サイズ
resize:インデックス最大値

984 :名無しさん@お腹いっぱい。:2015/03/07(土) 23:43:43.72 ID:g5OLUufk0
>>980
そろそろ次立てときますかね

985 :名無しさん@お腹いっぱい。:2015/03/07(土) 23:58:12.08 ID:uMxLLta90
配列サイズを求めるのにresize使う人はたまに見かけるな
結果は正しいけど・・・どうなんだろあれ
多少長くても面倒でも、ひと目で意味の分かるlengthを使うわ

for i=0 to length(array)-1
他の言語でforの意味を知っている、
配列が0から始まると知っている人なら理解できるけど

for i=0 to resize(array)
これはresizeの仕様を知らないと理解できない
どうして配列のサイズ変更?ってなる

短いコード=良いコードじゃない典型例だと思う

986 :名無しさん@お腹いっぱい。:2015/03/08(日) 00:23:21.95 ID:itdOhEn30
どうかな。
一理あるけど、同じ関数名で全く異なる動作をする関数もどうかと思うぞ。
resizeはたまたまlengthというたまたま意味のわかりやすい代替関数がたまたま存在していただけで、
それ以外は依然として、意味のわかりにくい関数やらオプション定数やらシステム変数やら盛り沢山。
ひと目で分かるのが良いなら FUNCTION getArrayMaxIndex(array[]) という関数を定義するのがベストだぞ。


次スレ

自動化ツールUWSC使いよ集まれ14 [転載禁止](c)2ch.net
http://anago.2ch.net/test/read.cgi/software/1425741537/

987 :名無しさん@お腹いっぱい。:2015/03/08(日) 01:22:33.03 ID:3zYRr75X0
>>986
え、そんなに分かりにくいのあるか?

for i = 0 to resize(getdir_files)
これは俺も最初意味が分からなかったよ

988 :名無しさん@お腹いっぱい。:2015/03/08(日) 01:31:40.05 ID:c+LJGmOq0
>>986
ポリモーフィズムだよ
文字列を渡したら文字列の「長さ」
配列を渡したら配列の「長さ」が返る

for i=0 to length(array)-1
for i=0 to resize(array)
for i=0 to getArrayMaxIndex(array)

関数を作れば分かりやすい訳でもないよね
車輪の再発明は何の意味もない
作るほうも読むほうも時間の無駄

989 :名無しさん@お腹いっぱい。:2015/03/08(日) 10:32:02.70 ID:itdOhEn30
車輪の再発明の使い方間違ってるよ
別に既にあるアルゴリズムを再考案するわけじゃなく
名前変えるだけの関数なんて既存関数ラッピングするだけ

UWSCが一貫してポリモーフィズムで関数名を決めてるポリシーに基づいてるなら
ポリモーフィズムと考えればいいけど
lengthだけがポリモーフィズムなのがちょっと気持ち悪いな

990 :名無しさん@お腹いっぱい。:2015/03/08(日) 10:46:08.25 ID:itdOhEn30
あと一見意味がわからない関数が多すぎて慣れすぎてるというのもある
POFFとPOSが並んでたら似たような用途に見える

英単語の意味がわからないんじゃなくて英単語の意味に対してピンポイントすぎる用途なので
英単語から想定されない使われ方見てそっちかよみたいなのも少なくない

ポリモーフィズムがOKならCOPYとSLICEは統合した方がいいよね
と思って見てたら、配列コピーに現状ループ回して転写する自作関数使ってたが
SLICEの開始終了を省略すればいいことに気づいたは。
A=SLICE(B)これResize以上にわかりづらいぞ実は配列でしたってなる
でもこれ既存配列を複写先には出来ないな。

991 :名無しさん@お腹いっぱい。:2015/03/08(日) 11:23:20.92 ID:3zYRr75X0
>>990
普通のプログラマとの考え方の差だね
俺は普通のプログラマでUWSCの作者もプログラマだから、プログラマ視点で見たら
UWSCは別に分かりにくいところはないし一貫してると思うけど、
UWSC使いから見たらそう思うのだろう

> 英単語の意味がわからないんじゃなくて英単語の意味に対してピンポイントすぎる用途なので
> 英単語から想定されない使われ方見てそっちかよみたいなのも少なくない

英単語ってものによってはいろいろな意味があるけどプログラミングで使われたらだいたいこういう意味
っていうのがあって、別に変な使われ方はしていない

poffとposってposはpositionのposっていうのはUWSC知らなくても普通のプログラマなら分かるから、
positionと関係がありそうに見えないpoffがposと同じような用途なんて思わない

> ポリモーフィズムがOKならCOPYとSLICEは統合した方がいいよね

そう思う。最初、文字列にslice使おうとしたことがあった

> と思って見てたら、配列コピーに現状ループ回して転写する自作関数使ってたが
> SLICEの開始終了を省略すればいいことに気づいたは。
> A=SLICE(B)これResize以上にわかりづらいぞ実は配列でしたってなる

sliceが新しい配列を作って返す関数ということが分かっていれば、一部分のみをコピーするのも、全体をコピーするのも
同じような処理だから、引数を省略した時は全体がコピーされるというのは容易に想像できる。
それに対して、resizeがサイズを返すというのは一般的ではない(例えばC++のstd::vectorのresize()は戻り値がない)
からそっちのほうが分かりにくい

992 :名無しさん@お腹いっぱい。:2015/03/08(日) 15:32:53.03 ID:0C7yL6g10
最適解なんてないからあんまりgdgd考えても仕方ない
ある程度のプロジェクトならコーディングルールを策定して不要なトラブルを回避すれば良い事

個人ベースでもマイルールは有用だが人に押し付けるもんじゃない
要するに好きにやれと

993 :名無しさん@お腹いっぱい。:2015/03/08(日) 17:13:05.12 ID:lmARblFH0
名前が分かりづらかったら自作関数の中に入れて引数丸投げすればええんやで

994 :名無しさん@お腹いっぱい。:2015/03/08(日) 19:29:12.54 ID:AXpt5d9f0
>>990
POFFなんて昔からあるDOSコマンドだから、そう違和感なかったけどな

995 :名無しさん@お腹いっぱい。:2015/03/08(日) 19:56:57.64 ID:VC0yQHgI0
みんな、じぶんがふつうなんだよ

996 :名無しさん@お腹いっぱい。:2015/03/08(日) 21:17:51.31 ID:aPPAnLt60
uwsc使いふぜいがプログラマ気取りって甚だしいだろ

997 :名無しさん@お腹いっぱい。:2015/03/08(日) 21:48:55.02 ID:aPPAnLt60
06/04/21
 LENGTH関数にて配列サイズを取れるようにした

998 :名無しさん@お腹いっぱい。:2015/03/08(日) 22:10:19.07 ID:c+LJGmOq0
リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック

この本はオススメ
getArrayMaxIndex(array)
みたいな関数を作っちゃいけない理由や
resize(array)
を配列サイズを求めるのに使っちゃいけない理由がよくまとめられている

他人にコードを見せるつもりがなくても、1週間前、1か月前の自分はもはや他人
自分が書いたのに何書いてあるか理解できない、理解に時間が掛かってしまう事が
よくあるなら一度は読んでおいたほうがいいよ

999 :名無しさん@お腹いっぱい。:2015/03/08(日) 22:35:23.87 ID:aPPAnLt60
getArrayMaxIndexは単なる皮肉だろうし。
resizeはlengthによる配列サイズより昔からあった上、r
配列サイズ変更には昔はバグがあり
配列変更そのものをしないほうが安定したため、
resizeは配列サイズを求めるために、
1ヶ月前どころか10年前から普通に使われていた。
単なる慣習。

1000 :名無しさん@お腹いっぱい。:2015/03/08(日) 22:39:34.11 ID:VC0yQHgI0
次スレへ続きます

自動化ツールUWSC使いよ集まれ14 [転載禁止](c)2ch.net
http://anago.2ch.net/test/read.cgi/software/1425741537/

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

302 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50


read.cgi ver 05.05 2022/08/31 Walang Kapalit ★
FOX ★