2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

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

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

1 :名無しさん@お腹いっぱい。:2015/03/08(日) 00:18:57.40 ID:itdOhEn30.net
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

702 :名無しさん@お腹いっぱい。:2015/06/07(日) 20:41:41.22 ID:JD5ADCZJ0.net
>>700
なるほど。
アクティブにしてクリック操作をして非アクティブにする
という切り替えをすればもちろんうまく行きますが・・・。

そういったアプリケーションに対してはバックグラウンド動作させることはできないのでしょうか。
何か別のアプローチが必要で、それをご存知であればご教示下さいませんか。

今回対象にしているアプリケーションはUltraVNCでして、
リモートコンピュータを自動操作したいと思っています。
(リモートコンピュータにUWSCを入れることができない環境です。)

703 :名無しさん@お腹いっぱい。:2015/06/07(日) 20:45:24.33 ID:AIilwBQo0.net
なら仮想化を多重化したらいいじゃない

704 :618:2015/06/07(日) 21:36:42.77 ID:8tEtrI0CA
>>622さんのお陰で、フォームのhtmlを
<meta http-equiv="X-UA-Compatible" content="IE=8”>
にして、表示の問題は解決したのですが、今度は上下のカーソルキーが効かなくなってしまいました。
ほかの指定ならキーボードでスクロール出来るのですが、どうしたものか困っています。

705 :名無しさん@お腹いっぱい。:2015/06/07(日) 21:58:52.12 ID:iDR01ZVNS
>>701
あなたが神か
ありがとう!これでようやく自分で調べられるよ!

706 :名無しさん@お腹いっぱい。:2015/06/07(日) 23:51:15.21 ID:gOW6AkJ5Y
>>693
そのページです
ショートカットで改善できたようで良かったです
>>689
関連付けによる実行でメイン画面が表に出るということは非表示にしてしまうと良いかもしれません
>ログウィンドウを表示するタイプのスクリプトを使っているので、一旦裏に回ったログウィンドウを表に出すと、
>メイン画面も一緒に再び表に出てしまいます。
スクリプトファイル先頭にUWSCメインウィンドウを非表示する
CTRLWIN(GETID(GET_THISUWSC_WIN),HIDE)
もしくはUWSCメインウィンドウのサイズを変更する
ACW(GETID(GET_THISUWSC_WIN),0,0,200,150) //サイズは適当

707 :名無しさん@お腹いっぱい。:2015/06/08(月) 00:14:33.14 ID:g3jBGxhA7
UWSC掲示板にネットゲーム関係の質問はご遠慮くださいってあるから、ここもダメなのかしらどうかしら

708 :名無しさん@お腹いっぱい。:2015/06/08(月) 08:13:34.15 ID:NyH9JvbJw
>>707
もちろんダメ

以前にUWSCスレでゲームの話題が出て荒れたけど
対象ゲームをする人以外には何ら応用もできない内容で埋め尽くされた
http://anago.2ch.net/test/read.cgi/software/1405162342/

709 :名無しさん@お腹いっぱい。:2015/06/08(月) 19:27:51.76 ID:M0D6EJoR0.net
あー
VNCは画像をJPGみたいに圧縮して送ってるから
まったくおなじ画像として認識するのは不可能だわ
PeekColorもしかり、同じ色にならない
UWSC本体を送るんじゃなくてexe化したパッケージを送ることも無理なの?

それも無理なら、
VNCでコントロールしてるってことは、ガチガチ社内ネットとかじゃなくて
ネットワークトラフィックは無視していいってことだろうから

(H)PrintScreen→(H)MSPAINT→(H)PNGで保存→(H→C)WEBDABとかFTPとかOneDrive経由で受け取る
 →(C)画像を解析→(C)位置を確定→(C)マウスコマンドを送る
(H:スト側のローカルイベント C:クライアントUWSCマクロ側)
これで解決できると思う

画像のやり取りはあぷろだをかませるとそこでつっかえたりするから
OneDrive保存が最良だけどWin7以前でインスト不可ならコマンド用意しておいてFTPかな

クリップボード共有もOKな環境なら画像保存した状態からファイルの切り取りで奪っちゃってもいい
PrintScreenのクリップ状態はVNC側の環境によっては送れたり送れなかったり

710 :名無しさん@お腹いっぱい。:2015/06/08(月) 23:03:24.24 ID:WtapXdWk0.net
裏の話で仮想化しろみたいな結論出てる所聞きにくいんだが
火狐ではクリックも画像認識も裏で反応するんだがIEとクロームではクリックも画像認識も全く反応しないのって皆同じなのかな?
連打測定サイトとかフラッシュゲーとかやってみたんだがIEとクロームが反応しないもんで何とかならんもんかと困っている

id = GETID(GET_ACTIVE_WIN)
MOUSEORG(ID,2)

while true
btn(left,down,815,395)
btn(left,up,815,395)
wend

これでひと通り試してた(座標とか画像認識の時は変わるけども)
クロームは43.0.2357.81 m (64-bit)
IEはバージョン11.0.9600.17633 更新バージョン11.0.16 (32bit)
狐は38.0.5
狐よりクロームの方で裏が動いたらいいなぁと思ってる、仮想化は最終手段として
前は確か出来たような気がするんだがはっきり覚えてないんで意見下さい

711 :名無しさん@お腹いっぱい。:2015/06/08(月) 23:08:01.34 ID:WtapXdWk0.net
ちょっと書き方悪かったので補足
裏マクロが反応しないっていうのは最前面に出していてもクリックしてくれないって意味で画面が隠れている状態でって意味ではないです
とりあえずマウスが取られなければいいからって事で

712 :名無しさん@お腹いっぱい。:2015/06/09(火) 01:42:53.34 ID:ilrPY7660.net
どうせゲームの話なんだろ?
それなら、マクロ用にもう一台パソコン買うのが一番早い

パソコンは消耗品だが、1ゲームに課金することを思えば長持ちするし、
ゲームを選べば課金額以上の働きをする

713 :名無しさん@お腹いっぱい。:2015/06/09(火) 01:52:59.82 ID:6N+Eeckc0.net
ゲームもあるけど毎日やってる事を自動化したら楽だなーと思ってやってみたんだよね
それでクロームが一番読み込みとかの速さ的にもいいかなーって思ったんだが、まぁ狐使うなり仮想使うなり裏諦めるなりするしかないか
もう1台用意するのが一番良いよね、何するにしてもサブあると便利だし
CPUの大幅な性能向上来たら買ってサブ組むかって考えてるからそれ待ちなんだが一向に進展せんな

714 :名無しさん@お腹いっぱい。:2015/06/09(火) 02:07:07.25 ID:SXM4fw8U0.net
自分も普段使いのFireFoxで何とかって思い
AACを駆使して指定範囲付近のエレメントを検索する関数とか
巡回をサポートする関数をクラス化してやりくりしてたけれど

IEにしたら直接エレメント操作をCOMで出来るからバカバカしくなったぞ
別に無理に普段使いのブラウザを使う必要って実は無いのよ

仮に起点となるアドレスが可変だとしても
其処だけFirefoxから貰えば良い話だしね

715 :名無しさん@お腹いっぱい。:2015/06/09(火) 06:57:30.63 ID:EvVw9qfR5
うまく画像認識されなくて困ってるんですが、何かパソコンの設定的に原因が生じたりすることってありますか?他に何か考えられる原因があったら是非教えてください。
ブラウザは火狐、クロム、IE、Comodo Dragon、Coowon Browserを試しました結果全滅でした
認識させる画像の取り込み方も調べたとおりやったみたので間違ってはないと思います。

716 :名無しさん@お腹いっぱい。:2015/06/09(火) 07:57:11.38 ID:iqRZvXPr0.net
CheckColorScope関数の事で教えて下さい。
↓にもある通り、UWSCでサポートしてる関数であるはずなのに、エラーが出ます。
ttp://anago.2ch.net/test/read.cgi/software/1425741537/

エラー内容:
関数 CheckColorScopeがありません
xxx行目:if CheckColorScope( 830, 523,"R", 181,5)

オプションも誤字も無いはずなのに。。。
ヘルプ見てみたところヒットする関数がないのでサポートしてないのかな・・・。

UWSCバージョンは5.1.1.0 フリー版です。
原因がお分かりの方、ご教示ください。

おねがいします。

717 :名無しさん@お腹いっぱい。:2015/06/09(火) 08:22:27.65 ID:OK+7I8vA8
>>715
まず問題の切り分けを行って下さい

何を見て調べたか?
(ネット情報?どのページ?その情報が本当に正しいと証明できますか?)

画像認識されない、というのはどうやって判断しているのか?
(認識できていないつもりでも、認識されているのでは?)

Windows標準のペイントで画像を開き、それを認識させられるか?
(ウェブブラウザ固有のものなのか?どんなソフトでも発生するのか?)

あなたのソースコードが見られればもう少し具体的にアドバイスできるかもしれませんが
これだけの情報ではパソコンの設定が原因とは判断できません

718 :名無しさん@お腹いっぱい。:2015/06/09(火) 08:43:21.04 ID:c2dyIL9N0.net
誰かの自作関数なのでぐぐって拾ってきて下さい。

719 :名無しさん@お腹いっぱい。:2015/06/09(火) 10:13:45.35 ID:iqRZvXPr0.net
>>718
まじかーあのFunctionはそういうことだったんだ。
ありがとうございます。探してきます

720 :名無しさん@お腹いっぱい。:2015/06/09(火) 12:17:44.12 ID:QPOSPQ3s0.net
>>711
そのページのソースのjs見たり
開発者ツール的なものを使って、クリックイベントの動作確認とかしたら?
クリックされたら、現在のマウス座標の場所にある要素に対して何か処理するのがあると
かなり難しいと思う

そもそもマウス移動せずや、アクティブにせずクリックとかするなんて
アプリ側は想定外のはずだから、
手段が用意されてないかもしれないよ

721 :名無しさん@お腹いっぱい。:2015/06/09(火) 12:24:12.41 ID:yBfMnKXf0.net
スキャンした文字をデジタル化するOCR的処理って
UWSCでも頑張れば理論上できるかな?
それとももっと適した言語があれば教えて下さい。

722 :名無しさん@お腹いっぱい。:2015/06/09(火) 12:29:10.79 ID:7oF2vMx30.net
GoogleにOCRあるからそれ使え
それでも満足できないなら頑張ってください

723 :名無しさん@お腹いっぱい。:2015/06/09(火) 12:53:55.92 ID:HA8tJfl+0.net
>>721
完全2色まで減色

文字として機能する規定点のパターンマッチ

文字判別

とすれば理論上可能だろうけど、ぱ(PA)とば(BA)の違いだって目視でも判断できないこともあるし
更に単語処理が必要だろう

文字判別→前後単語の洗い出し→辞書から単語検索→単語確定

それでもパンダとハンダの違いを認識するには文節処理も必要になる
普通にOCRの操作を自動化した方がはやげ
全文字・漢字分の規定点の作成とか絶対やりたくない

724 :618:2015/06/09(火) 13:18:40.23 ID:Duqu01jJs
やはりどうしても、矢印キーでスクロール出来ません。
content="IE=8”を指定した場合だけ、矢印キーが効かなくなってしまいます。
困っています。

725 :名無しさん@お腹いっぱい。:2015/06/09(火) 13:53:54.65 ID:vRMQfWig0.net
有能な辞書があれば、理論上は、indexを引くだけ

726 :名無しさん@お腹いっぱい。:2015/06/09(火) 14:41:56.89 ID:SXM4fw8U0.net
少し前に調べた事だから今は違うかもしれないが

COMアクセス出来るフリーのOCRライブラリってのは多分無いからUWSC向きじゃない
後、フリーのOCRライブラリって日本語にはまともに対応していない

って感じだったかな

727 :名無しさん@お腹いっぱい。:2015/06/09(火) 16:32:28.45 ID:bTBbx7taC
>>724
もう少し状況を具体的に書いたほうがレスが付きやすいかもしれません
>ほかの指定ならキーボードでスクロール出来るのですが
ほかの指定とは何なのか
>矢印キーでスクロール出来ません。
textarea内のキャレットなのかフォームのスクロールなのか
変更した時は動作していたのか
UWSCのVerを変えてみるとどうなるか
フォームのHTMLファイルの設定状況
ソースが出せるなら出してみる
などなど

728 :名無しさん@お腹いっぱい。:2015/06/09(火) 20:41:59.38 ID:gDDxKsKq0.net
ifb chkimg("1.bmp")
 num = 1
elseif chkimg("2.bmp")
 num = 2
elseif chkimg("3.bmp")
 num = 3
......
elseif chkimg("9.bmp")
 num = 9
else
 num = 0
endif

という具合のものを組みたいのですが、こういったことを表現する場合にはdimを使うと簡略できると見ました
しかしこのスレで前述されていることを見たり検索したりしてもどのようにすればいいのかわからなかったので、教えていただけないでしょうか

よろしくお願いします

729 :名無しさん@お腹いっぱい。:2015/06/09(火) 20:46:01.35 ID:aNsp9elz0.net
繰り返し文の間違えだろう
dimなんて必要ない

730 :名無しさん@お腹いっぱい。:2015/06/09(火) 21:01:21.35 ID:/H/r4kw50.net
num = 0
for inum = 1 to 9
  ifb chkimg(inum + ".bmp") then
    num = inum
    break
  endif
next
   

731 :名無しさん@お腹いっぱい。:2015/06/09(火) 21:01:37.67 ID:gDDxKsKq0.net
申し訳ありません繰り返しと間違えていました
となりますと、>>728を簡略化するための何か別の方法はありませんでしょうか

732 :名無しさん@お腹いっぱい。:2015/06/09(火) 21:03:36.87 ID:gDDxKsKq0.net
>>730
ありがとうございます

dimやら繰り返しやらでごっちゃになっていました

733 :名無しさん@お腹いっぱい。:2015/06/09(火) 21:04:16.20 ID:/H/r4kw50.net
dim iname[] = "a", "bb", "ccc", "d", "ee", "fff", "g", "hh", "iii"
num = 0
for inum = 1 to 9
  ifb chkimg(iname[inum-1] + ".bmp") then
    num = inum
    break
  endif
next
   

734 :618:2015/06/09(火) 21:12:02.15 ID:aC4ZMC4d2
>>727
ありがとうございます。

矢印キーでスクロール出来ないのはフォーム全体です。
スクロースバーのボックス(ノブ)をマウスで操作すれば動きますが、矢印キーは効きません。

ほかの指定とは、
http-equiv="content-type"

content="text/html”

content="IE=edge”
または全く記述無し、等です。
これらの場合には、矢印キーでのスクロールが可能です。

しかし
<meta http-equiv="X-UA-Compatible" content="IE=8”>
にしないと、やはりtextarea内の2行目以降が正しく表示されません。
これを指定した場合のみ、矢印キーでのスクロールが出来なくなってしまいます。

UWSCのバージョンは5.1.1、5.0.0、4.9cともに同様でした。

フォームのHTMLは、外部ファイルとしてUWCファイルと同じディレクトリに置いています。
obj = CREATEFORM("entry.html", “申込”, TRUE, FOM_MINIMIZE + FOM_MAXIMIZE)
で呼び出しています。

Windows XP SP3、IE8です。
この環境で正常に動作させる必要があり、試行錯誤しています。

よろしくお願いします。

735 :名無しさん@お腹いっぱい。:2015/06/09(火) 21:10:34.26 ID:SXM4fw8U0.net
組み合わせと対象数にある程度柔軟性が欲しいならこんな感じかな
IF文をchkimgにしていないのは

DIM testArray[] = "1.bmp<#TAB>1", "2.bmp<#TAB>2", "3.bmp<#TAB>3"

num = getNumber(testArray)
Print num

function getNumber(checkArray[])
 result = 0
 For checkItem In checkArray
  check = Split(checkItem, "<#TAB>")
  If chkimg(check[0]) Then
   result = Val(check[1])
   Exit
  EndIf
 Next
fend

736 :名無しさん@お腹いっぱい。:2015/06/09(火) 22:16:19.70 ID:xBvHKv3T0.net
そういうのは連想配列でやらね?

737 :名無しさん@お腹いっぱい。:2015/06/09(火) 22:38:22.54 ID:OK+7I8vA8
>>734
○○が効かないとか??が正しく表示できないとか全部抽象的すぎるので
具体的にIE=edgeやらIE=8で作成したうまくいかない各パターンのentry.htmlと
それを動かすUWSCソースコードを提示したほうが早いと思う

他人に見せられないソースコードだとしたら
他人に見せられるレベルにまで整理して単純化しないことには
問題点を洗い出すのは難しいしね

738 :名無しさん@お腹いっぱい。:2015/06/09(火) 22:39:27.72 ID:G2ywoPsEr
for i=0 to Opendir(GET_CUR_DIR, "*.bmp")-1 でいいんじゃないの?

739 :名無しさん@お腹いっぱい。:2015/06/09(火) 22:23:06.54 ID:SXM4fw8U0.net
完全否定はしないけれどその辺は此処のポリシーだよ

連想配列はメモリ配置的に勝手に助長化するから
連想配列のメインであるインデックス的なアクセスしないケースでなければ
個人的には採用しないなぁ

でも連想配列で実装しているコードを見ても兎や角言う気はない

740 :618:2015/06/10(水) 00:06:56.62 ID:YnIB6PNOa
>>737
ありがとうございます。
ソースコードを整理しました。

// test.UWSここから //
obj = CREATEFORM("entry.html", "申込", TRUE, FOM_MINIMIZE + FOM_MAXIMIZE)

TIME_OUT = 10
tm = Gettime()
repeat
sleep(1)
ifb Gettime() - tm > TIME_OUT
break
endif
until (! obj.busy) and (obj.readyState=4)
Sleep(0.5)

741 :618:2015/06/10(水) 00:07:40.27 ID:YnIB6PNOa
SETFORMDATA("あいうえお","test01")
SETFORMDATA("あいうえお","test02")
SETFORMDATA("あいうえお","test03")
SETFORMDATA("あいうえお","test04")
SETFORMDATA("あいうえお","test05")
SETFORMDATA("あいうえお","test06")
SETFORMDATA("あいうえお","test07")
SETFORMDATA("あいうえお","test08")
SETFORMDATA("あいうえお","test09")
SETFORMDATA("あいうえお","test10")
SETFORMDATA("あいうえお","test11")
SETFORMDATA("あいうえお","test12")
SETFORMDATA("あいうえお","test13")
SETFORMDATA("あいうえお","test14")
SETFORMDATA("あいうえお","test15")
SETFORMDATA("あいうえお","test16")
SETFORMDATA("あいうえお","test17")
SETFORMDATA("あいうえお","test18")
SETFORMDATA("あいうえお","test19")
SETFORMDATA("あいうえお","test20")
SETFORMDATA("あいうえお","test21")
SETFORMDATA("あいうえお","test22")
SETFORMDATA("あいうえお","test23")
SETFORMDATA("あいうえお","test24")
SETFORMDATA("あいうえお","test25")
SETFORMDATA("あいうえお","test26")
SETFORMDATA("あいうえお","test27")
SETFORMDATA("あいうえお","test28")
SETFORMDATA("あいうえお","test29")
SETFORMDATA("あいうえお<#CR>かきくけこ<#CR>さしすせそ","test30")

742 :618:2015/06/10(水) 00:08:01.51 ID:YnIB6PNOa
while obj.Visible
sleep(0.2)
ifb GETFORMDATA("OK")
msgbox("テスト完了")
endif
wend
// test.UWSここまで //

743 :618:2015/06/10(水) 00:14:23.93 ID:SONjjThlq
// entry.htmlここから //
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset=Shift_JIS">
<meta http-equiv="X-UA-Compatible" content="IE=8">
<title>申込</title>
</head>
<body>
<form name="test" method="POST">
<INPUT TYPE=text NAME="test01" VALUE=""><br>
<INPUT TYPE=text NAME="test02" VALUE=""><br>
<INPUT TYPE=text NAME="test03" VALUE=""><br>
<INPUT TYPE=text NAME="test04" VALUE=""><br>
<INPUT TYPE=text NAME="test05" VALUE=""><br>
<INPUT TYPE=text NAME="test06" VALUE=""><br>
<INPUT TYPE=text NAME="test07" VALUE=""><br>
<INPUT TYPE=text NAME="test08" VALUE=""><br>
<INPUT TYPE=text NAME="test09" VALUE=""><br>
<INPUT TYPE=text NAME="test10" VALUE=""><br>
<INPUT TYPE=text NAME="test11" VALUE=""><br>
<INPUT TYPE=text NAME="test12" VALUE=""><br>
<INPUT TYPE=text NAME="test13" VALUE=""><br>
<INPUT TYPE=text NAME="test14" VALUE=""><br>
<INPUT TYPE=text NAME="test15" VALUE=""><br>

744 :618:2015/06/10(水) 00:14:46.94 ID:SONjjThlq
<INPUT TYPE=text NAME="test16" VALUE=""><br>
<INPUT TYPE=text NAME="test17" VALUE=""><br>
<INPUT TYPE=text NAME="test18" VALUE=""><br>
<INPUT TYPE=text NAME="test19" VALUE=""><br>
<INPUT TYPE=text NAME="test20" VALUE=""><br>
<INPUT TYPE=text NAME="test21" VALUE=""><br>
<INPUT TYPE=text NAME="test22" VALUE=""><br>
<INPUT TYPE=text NAME="test23" VALUE=""><br>
<INPUT TYPE=text NAME="test24" VALUE=""><br>
<INPUT TYPE=text NAME="test25" VALUE=""><br>
<INPUT TYPE=text NAME="test26" VALUE=""><br>
<INPUT TYPE=text NAME="test27" VALUE=""><br>
<INPUT TYPE=text NAME="test28" VALUE=""><br>
<INPUT TYPE=text NAME="test29" VALUE=""><br>
<Textarea NAME="test30" COLS=30 ROWS=10 style="width:100%;"></Textarea><br>
<input type="submit" name="OK" value="OK">
</form>
</body>
</html>
// entry.htmlここまで //

以上です。
フォームが全部読み込まれた後、矢印キーでフォーム全体をスクロールさせることが出来ません。
entry.htmlの5行目にある「content="IE=8"」を削除するか「IE=edge」等に変えると、矢印キーでスクロールが可能です。

745 :名無しさん@お腹いっぱい。:2015/06/10(水) 01:04:13.00 ID:U1uWjUCL0.net
普通に多次元配列か連想配列でやる

746 :名無しさん@お腹いっぱい。:2015/06/10(水) 01:51:25.09 ID:7fQ2CVcl0.net
配列とか言われてもわかんねーから

747 :名無しさん@お腹いっぱい。:2015/06/10(水) 16:43:00.12 ID:+oPKIUUi0.net
久しぶりにアップデートしたらfukidasiのフォントがやたらと汚くなっていた
5.0.2のBALLOON関数にて アンチエイリアスを無効にした
これのせいだと思うんですけど無効にするのを無効に出来たりします?

748 :名無しさん@お腹いっぱい。:2015/06/10(水) 18:30:43.10 ID:TCANs/4Rq
>>734
UWSC Pro 5.1.1.0 Win8.1 IE11の環境でもフォームの上下キーによるスクロールは出来ませんでした
公式掲示板の検索ツールも上下キーによるスクロールが出来ないので
上下キーによるスクロールが出来ない方がデフォルトなのかもしれません

提示していただいたソースを見ると気になった点が2つ
1.HTMLファイルでDOCTYPE宣言<!DOCTYPE html>の有無で表示モード変わるということ
DOCTYPE宣言<!DOCTYPE html>有→標準モード、無し→互換モード
2.IE8でのtextareaタグ使用はバグがあり、その一つに横幅指定style="width:100%に%を
指定するとバグる事があるとのこと
http://i-njoy.net/blog/index.php?e=553
こちらのページのコメント欄に同症状の情報がありました
これでIE8でtextareaの2行目以降が表示されない症状が改善するかもしれません

あとはIE11でも上下キーによるスクロールができないか試してみました
↑↓キーをホットキー設定してフォームがアクティブであればスクロール量を増減する
スクリプトですが同時使用1つまでという困った仕様です

749 :名無しさん@お腹いっぱい。:2015/06/10(水) 18:35:54.73 ID:TCANs/4Rq
以下の3行を
>>740 test.UWS先頭に追加

PUBLIC obj
SETHOTKEY(VK_UP, , "フォームスクロール")
SETHOTKEY(VK_DOWN, , "フォームスクロール")

750 :名無しさん@お腹いっぱい。:2015/06/10(水) 18:36:27.19 ID:TCANs/4Rq
以下の関数を>>742test.UWS末尾に追加(entry.htmlは変更無し)
procedure フォームスクロール()
  CONST スクロール量 = 15 //(px単位)
  DIM textarea_name[] = "test30" //textareaのname
  ifb ! obj.document.hasFocus() //フォーム画面ウィンドウがアクティブでない場合スキップ
    KBD(HOTKEY_VK); EXIT
  endif
  COM_ERR_IGN //textareaにフォーカスがある場合入力フィールド内を移動
    fname = obj.document.activeElement.name
  COM_ERR_RET
  for i = 0 to LENGTH(textarea_name)-1
    ifb fname = textarea_name[i]
      KBD(HOTKEY_VK); EXIT
    endif
  next
  mode = obj.document.compatMode //標準モード"CSS1Compat" 互換モード"BackCompat"判定
  ifb HOTKEY_VK=VK_UP
    ifb mode = "CSS1Compat"
      obj.document.documentElement.scrollTop = obj.document.documentElement.scrollTop - スクロール量
    else
      obj.document.body.scrollTop = obj.document.body.scrollTop - スクロール量
    endif
  else  //if HOTKEY_VK=VK_DOWN
    ifb mode = "CSS1Compat"
      obj.document.documentElement.scrollTop = obj.document.documentElement.scrollTop + スクロール量
    else
      obj.document.body.scrollTop = obj.document.body.scrollTop + スクロール量
    endif
  endif
fend

751 :名無しさん@お腹いっぱい。:2015/06/10(水) 22:51:56.47 ID:/MzX+sCy0.net
連想配列だとノーマル配列みたいにサクッと初期値を設定できないので手軽じゃない
>>733みたいにコードに埋め込んじゃえる規模なら一番手間がかからない
CSVとかから読み込むならどちらでもいいけど、その規模になると今度は、
キーが人間に判り易いというメリットは薄くなる
多次元配列はC言語みたいに初期値与えられんし可読性が著しく下がるので、
1次元配列の名前を判りやすくして並べたほうが見やすい
典型的なのがXY座標テーブルでposition[1][10]とやって0がXの1がYとやるより
//         1  2 …
posX[10] = n1, n2, …
posY[10] = n1, n2, …
とやったほうが手軽に書ける


752 :名無しさん@お腹いっぱい。:2015/06/10(水) 23:20:49.21 ID:OeKm7REC0.net
>>751
>>536は可読性が著しく低いのか。十分だと思うが

753 :618:2015/06/11(木) 14:41:18.47 ID:dqrkJ9bL2
>>748
検証して下さり、コードまで書いていただいてありがとうございます!
私が提示した簡略化したUWSで動かすと、完璧に動作しました!

しかし、実際のUWSで試すと、
  ifb ! obj.document.hasFocus() //フォーム画面ウィンドウがアクティブでない場合スキップ
の行や
  mode = obj.document.compatMode //標準モード"CSS1Compat" 互換モード"BackCompat"判定
の行で、
「OLE Object1への型変換が出来ません」のCOM_Errorが発生してしまいます。
原因を究明中です。

754 :名無しさん@お腹いっぱい。:2015/06/11(木) 23:06:09.22 ID:Q9K0BUu70.net
画像認識やらで騙し騙し使ってたけど本格的にIEを自動化したい
まず学ぶべきはHTML?
最低限これはやっとけってのある?

755 :名無しさん@お腹いっぱい。:2015/06/11(木) 23:18:50.32 ID:sjoLEexy0.net
>>754
IEは道具であって目的ではない
IEで何をしたいのかを書かなければ何も答えようがない

756 :名無しさん@お腹いっぱい。:2015/06/11(木) 23:25:06.04 ID:Naihmo/b0.net
それこそいじりたいサイトによって、もっと言えば
同じサイトでも仕様が変わればやること変わるしな

757 :名無しさん@お腹いっぱい。:2015/06/11(木) 23:27:04.74 ID:C9VpTbp70.net
ウェブスクレイピング的な操作が目的なら

HTMLはマークアップ言語なのか程度の認識でも良い
で、そのマークアップされた構造に対して
アクセス・操作する為のDOM(Document Object Model)の方が重要

構造化されたドキメント全体からあるノードを取得し
その配下このノードは○○、このノードは××と言った感じにデータ化

それらを整理して一括操作とかできたりする

758 :618:2015/06/12(金) 12:36:41.13 ID:Xflk4lPje
>>748
解決しました。
お騒がせしました。
ありがとうございました。

759 :名無しさん@お腹いっぱい。:2015/06/12(金) 15:38:07.91 ID:nK+jRR0p0.net
DOM理解を試みる
ノードやらタグ、要素の理解で躓く
HTMLに手をを付けるか迷う←今ここ

とりあえず目下の目標はweb記事のスクラップ

760 :名無しさん@お腹いっぱい。:2015/06/12(金) 16:16:39.16 ID:44TZAm890.net
スクラップ目的の場合は対象記事の構造を把握する事が重要で
それぞれのタグの意味はそれほど重要じゃないよ

記事のヘッダ、本文、日時、URL等スクラップしたい情報の位置を把握して
それらをピックアップしてXML等で保存する感じかな

いきなり表示可能なHTMLで保存しようとすると果てしなく面倒臭い

慣れてきたらDOM構造を処理する内部言語っぽいのを作ってそれで処理するとかすると楽しい

761 :名無しさん@お腹いっぱい。:2015/06/13(土) 23:47:47.34 ID:lLPEpWaJ0.net
>>1の使い方・基礎解説学習サイトみてもチンプンなんだけど、もっとプログラミング初心者向けのサイトない?

762 :名無しさん@お腹いっぱい。:2015/06/13(土) 23:58:32.51 ID:7DVsBavJ0.net
>>761
自分で調べればいいんだよ
何をしたいか考えて、「uwsc ○○」でググって出たページを見ればいい
プログラミングってもはやグーグル検索をどれだけ使いこなせるかで習熟度が違うからな

763 :名無しさん@お腹いっぱい。:2015/06/14(日) 01:18:23.28 ID:xcIcJdqM0.net
昔は調べるには分厚い本を何冊も高い金払ってようやくって感じだったが
今はネット環境あって検索使いこなせば殆ど不自由ないからなぁ

764 :名無しさん@お腹いっぱい。:2015/06/14(日) 01:30:54.13 ID:KxkYlpRA0.net
>>761
>>1の使い方・基礎解説学習サイトみたがこれ以上分かりやすく書くのってどうやるんだっていうくらい難しい
これくらいなら誰でも知ってて当然っていうレベルなのでまわりの誰かに教えてもらうほうがはやい

765 :名無しさん@お腹いっぱい。:2015/06/14(日) 01:44:31.26 ID:nvamwSVV0.net
記録機能があるので一見初心者さん歓迎っぽいがデバッグが厳しい

無償版はデバッガが無いのでPrint命令頼りの原始人レベル
有償版のデバッガでやっと一昔レベル
(ただしスレッドを使ったデバッグは結局Print命令だったりする)

ぶっちゃけガチ初心者ならUWSCはお勧めできない

766 :名無しさん@お腹いっぱい。:2015/06/14(日) 02:00:27.99 ID:HVOSbBWM0.net
プログラミングの流儀が分かってないとなあ
C言語の教科書一冊やり通した経験あるとないとでぜんぜん違うと思う

767 :名無しさん@お腹いっぱい。:2015/06/14(日) 06:53:08.56 ID:NZB6Vc0bn
>>758
無事解決できたようで良かったですね

>>748で訂正があります
>公式掲示板の検索ツールも上下キーによるスクロールが出来ないので
>上下キーによるスクロールが出来ない方がデフォルトなのかもしれません
左側に表示される検索用フォームのウィンドウ検索結果の余白をクリックすることで
スクロールすることが出来ました
右側の表示用フォームVer1.2.1(Ver1.1.0は表示用フォームにIE使用なのでスクロール可能)は
どこをクリックしてもスクロール出来ないようです
が、ソースを見ると表示用フォームに<meta http-equiv='X-UA-Compatible' content='IE=9'>を設定してる箇所がありました
該当箇所をコメントアウトして実行するとスクロール可能になりました
改めて>>743さんの検証コード<meta http-equiv="X-UA-Compatible" content="IE=8">を外して実行すると
UWSC Pro 5.1.1.0 Win8.1 IE11の環境でスクロール可能でした
(前回おそらく自作の妙なコードと同時に検証していたせいで動かなかった?ごめんなさい)
>>734さんの指摘通りフォームでレンダリングモード<meta http-equiv="X-UA-Compatible" 〜を指定すると
上下キーによるスクロールが出来ないことが考えられます

768 :名無しさん@お腹いっぱい。:2015/06/14(日) 07:43:37.88 ID:DcdHt8gu0.net
>>761
多分変数って何?式ってなに?くらいのレベルなんだろう
さすがにそこまでは書いてないと思うから
わからないことを一つずつググればいいよ
「プログラミング 変数とは」みたいに

769 :名無しさん@お腹いっぱい。:2015/06/15(月) 03:21:05.65 ID:Lx1Th6M00.net
今マクロツールって全然なくない?使いやすくてそこそこ色々出来るの何かあれば教えて欲しいわ

770 :名無しさん@お腹いっぱい。:2015/06/15(月) 22:48:55.05 ID:aNpw03CF0.net
フォルダの内容をテキストファイルに。要点のみだと5行。
フリーソフトで好みなのが見つからなかったんだけど、探す時間より
作る時間の方が早かったorz

DOSCMD("dir <#DBL>H:\cap\<#DBL> /s | clip",False,False) //コマンドからdirの出力をクリップボードに
str = GETSTR(0) //クリップボードから取得
fid=FOPEN("d:\cap_list.txt",F_WRITE) //テキストファイルを新規or上書きで開く
FPUT(fid, str) //テキストファイル書き込み
FCLOSE(fid) //テキストファイル閉じる

771 :名無しさん@お腹いっぱい。:2015/06/15(月) 23:03:06.77 ID:5eo6IMhx0.net
DOSCMD("dir <#DBL>H:\cap\<#DBL> /s > d:\cap_list.txt")

じゃダメなの?

772 :名無しさん@お腹いっぱい。:2015/06/15(月) 23:36:46.33 ID:HCkXIYKv0.net
それ、UWSC要るか?

773 :名無しさん@お腹いっぱい。:2015/06/15(月) 23:46:16.54 ID:aNpw03CF0.net
「要点のみだと」って書いておいたのに。
テキスト整形したりは自由にやってくれ。

774 :名無しさん@お腹いっぱい。:2015/06/16(火) 00:18:56.03 ID:JbJJrV+b0.net
テキストの整形なんてテキストエディタでやるよね普通

775 :名無しさん@お腹いっぱい。:2015/06/16(火) 00:38:01.56 ID:fmeiedqk0.net
何が「要点」なのか分からないな
フォルダの内容をテキストファイルに保存したいだけのように見えるが
それならDOSコマンド直接叩くか、UWSC経由でやりたいなら>>771みたいに1行で充分だろうし
テキスト整形が目的なら肝心の処理だけを消した>>770には意味がないし

776 :名無しさん@お腹いっぱい。:2015/06/16(火) 01:01:11.77 ID:2XF1H6rG0.net
バッチファイルやWSHで出来るようにしておくと仕事でも役立つよ。
バッチファイルやWSHで普通行うようなことまでUWSCみたいな
マイナーでアンチウィルスにもお許しを乞う必要があるような
ツールでしか出来ないと色々と認めてもらえないw

777 :名無しさん@お腹いっぱい。:2015/06/16(火) 01:07:03.52 ID:Aq79miHj0.net
「UWSCからの操作」でエクセルの表追加ってどうやったらいいんでしょう?
excel.range("A1")=10
みたいに簡単な操作はマクロ記録を見れば応用できるけれど、グラフ追加だと
VBAマクロ記録で出てきたコードにEXCELを追加しただけだとエラーになります。
わかる人いたら教えて下さい。

※VBAでやれば、という突込みはご尤もだけど状況により、UWSCからの方法が
都合が良いです。

excel=createoleobj("excel.application")
excel.visible=true
excel.workbooks.add()

excel.ActiveSheet.Shapes.AddChart2(240, xlXYScatterLines).Select 
//エラー。xlXYScatterLinesが定義されていない

778 :名無しさん@お腹いっぱい。:2015/06/16(火) 01:22:07.90 ID:HxIz+CSs1
初歩的な質問だったらごめんなさい
画像認識に使用した画像の左上の座標でなく右下の座標の取得って出来ないんでしょうか

779 :名無しさん@お腹いっぱい。:2015/06/16(火) 01:43:50.38 ID:XPIoxtSOB
画像認識に使用したBMPのピクセル数分だけ変数に足せばいいじゃん

780 :名無しさん@お腹いっぱい。:2015/06/16(火) 01:35:13.98 ID:2XF1H6rG0.net
VBEのイミディエイトウィンドウで
PRINT xlXYScatterLines
とやると定数の74であることがわかるので、
UWSC上で
CONST xlXYScatterLines = 74

781 :名無しさん@お腹いっぱい。:2015/06/16(火) 07:55:44.43 ID:eVw9E0jir
>>780
ありがとうございます。そうやって確認したらいいんですね!
めちゃ参考になりました。

782 :名無しさん@お腹いっぱい。:2015/06/16(火) 19:12:22.00 ID:fmeiedqk0.net
>>777
Excelの定数なら調べる必要すらなくて

http://www.uwsc.info/faq.html#n48
>Excelの使用にて定数がわからない、定数名を使用したい  #n48
>Excelの定数名を記述したファイル(ExcelConst.uws) をダウンロードして
>スクリプトの先頭で CALL ExcelConst.uws を入れるとExcelの定数名が使用できます

に書いてあるとおり用意されてる

783 :名無しさん@お腹いっぱい。:2015/06/16(火) 23:13:41.85 ID:3VC/w8LIc
Google Chromeをバックグラウンドで動かす方法(Flash PlayerもOK)
http://anago.open2ch.net/test/read.cgi/software/1395484022/13

>GETALLWIN(GETID(" - Google Chrome","Chrome_WidgetWin_1"))
>MOUSEORG(ALL_WIN_ID[0],MORG_DIRECT,MORG_BACK)

子ウィンドウのIDが取得可能になりバックグラウンドでマウスクリックなどの操作が可能になった模様
chrome64bit版で同じ操作が可能かは不明

784 :名無しさん@お腹いっぱい。:2015/06/17(水) 08:41:35.26 ID:O6/Ohey4f
>>782
ありがとうございます。こんなのあったんですね。
作者さんやっぱりすげー。

785 :名無しさん@お腹いっぱい。:2015/06/17(水) 08:53:07.37 ID:bOpYdHH80.net
VBAやらなくて済むようにUWSCに逃げても
xlXYScatterLinesが定数だというようなVBA知識は要るなど
UWSCはVBAより初心者に厳しいのです
VBEでマクロかけばxlXYScatterLinesはインテリ何とかで自動的に候補が出てくる

786 :名無しさん@お腹いっぱい。:2015/06/17(水) 09:32:42.95 ID:RcdlcA/F0.net
Bluestacks内でテキストを開いて
abcdefghiをabcjklghiみたいに書き換えることってできますか?
まず文字列取得の時点でつまづいてます

787 :名無しさん@お腹いっぱい。:2015/06/17(水) 16:34:40.45 ID:z6hXDPOM0.net
画像認識で画面全部ではなく指定した範囲の中で認識を行うにはどうすればいいですか?
x1 y1 x2 y2と透過の所がよく分かりません

788 :名無しさん@お腹いっぱい。:2015/06/17(水) 16:56:54.03 ID:YAI6QHUw0.net
ヘルプコピペしたいところだが。
日本語読めないと無理だな。

789 :名無しさん@お腹いっぱい。:2015/06/17(水) 17:20:54.78 ID:VUJvu2f1B
大抵の画面の座標系は左上が原点(0, 0)になっていて
右下にいくほどX,Yが増えてる感じ。

CHKIMGの X1Y1 X2Y2 の意味は↓で囲った範囲から
サーチって意味だったと思います。

X1,Y1--------------------
| |
| |
| |
| |
|________________________________X2,Y2

790 :名無しさん@お腹いっぱい。:2015/06/17(水) 17:23:34.02 ID:VUJvu2f1B
ごめん、ずれたからやり直し

X1,Y1--------------------
|                  |
|                  |
|                  |
|                  |
|________________________________X2,Y2

ヘルプ (uwsc.chm)見て分からないって事かと
思ったけどどうなんだ。。

791 :名無しさん@お腹いっぱい。:2015/06/17(水) 17:13:10.93 ID:X+76V8o30.net
そこまでわかってんなら10分説明読めば分かるやろ

792 :名無しさん@お腹いっぱい。:2015/06/17(水) 17:19:37.20 ID:z6hXDPOM0.net
x1 y1 x2 y2がサーチ範囲だってのは分かってるんですけど
x1 y1にx座標とy座標入れたとしたらx2 y2には何を入れればいいんですか?

793 :名無しさん@お腹いっぱい。:2015/06/17(水) 17:36:08.77 ID:VUJvu2f1B
サーチ範囲なんだから、始点と終点がいるでしょ、X2、Y2は終点。

794 :名無しさん@お腹いっぱい。:2015/06/17(水) 17:24:30.17 ID:XQ7s6Cqi0.net
絶対座標か相対座標の2種類しか考えられないだろ
以前に紛らわしいなって話が出てたから確か相対座標(幅、高さ)だったと思うけれど
普段使わないので自分で確かめろ

795 :名無しさん@お腹いっぱい。:2015/06/17(水) 17:25:11.10 ID:Z95Qk9550.net
>>792
x1 y1 左上の座標
x2 y2 右下の座標
サーチ範囲指定すると言う事は2点の座標を指定しないとダメ

796 :名無しさん@お腹いっぱい。:2015/06/17(水) 17:38:34.88 ID:soxPIV+S0.net
今日のお前らは優しいな

797 :名無しさん@お腹いっぱい。:2015/06/17(水) 17:46:58.83 ID:VRFtRWlX0.net
相対じゃなくて絶対

自分でもどっちだかわからなかったからサンプルコード作って確認した
間違いなく絶対座標

アプリのウインドウ領域指定するなら
Status(ウインドウID, ST_X) + Status(ウインドウID, ST_Width)
 と
Status(ウインドウID, ST_Y) + Status(ウインドウID, ST_Height)
を指定する

798 :名無しさん@お腹いっぱい。:2015/06/17(水) 17:48:41.05 ID:RcdlcA/F0.net
ワイの質問にも優しい人教えて(`;ω;´)

799 :名無しさん@お腹いっぱい。:2015/06/17(水) 17:50:11.39 ID:Ph078XLs0.net
>>797
マジで?

800 :名無しさん@お腹いっぱい。:2015/06/17(水) 17:58:52.63 ID:cT7OPLwz0.net
最近始めた者です。
KBD(VK_T,CLICK,1034)

1061が待機秒数(ms)になると思うのですが
毎回異なる秒数にするにはどうすればよいでしょうか?

イメージ的には
1回目 1034
2回目 1093
3回目 1052
4回目 2013


です。

801 :名無しさん@お腹いっぱい。:2015/06/17(水) 18:11:41.70 ID:0MbH0eAWA
>>798
Bluestacksって軽くググったらAndroidじゃないか
Andで動く自動化ソフトならともかくまず無理だわ
最近のOSはフォントにアンチエイリアスかかってるから表示させるたびに色調が変わるし画像認識でも無理だね

sambaで共有してローカル的に拾いに行く以外の解決策はないんじゃないんじゃないの

総レス数 1144
361 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver.24052200