[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 03/23 14:38 / Filesize : 253 KB / Number-of Response : 977
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

自動化ツールuwsc使いよ集まれ7



1 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/08/04(木) 02:00:04.65 ID:7bTLDD7v0]

Windowsを自動化させるツールUWSC。
www.uwsc.info/

uwsc使いのみなさま、マターリ己のスクリプトを晒しましょ。


551 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/26(月) 14:51:16.39 ID:6fGFBX1+0]
あぁスマン誤爆した

552 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/26(月) 16:41:49.59 ID:sFw9d3YC0]
>>550
誤爆なんだろうが、俺もちょっと不安になってきた。
去年はインクが固化して印刷できなかったんだよね…ちょっとチェックするか

553 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 09:50:57.63 ID:Mj80iSIF0]
どんなにググっても原因が見つからなかったので、ここで質問させて下さい
whileを入れ子にすると、ループ処理が上手く行かないんです

dim g = 0

while true
 処理 1
  ifb a = 50
   Sound("beep")
   g = 1
  endif

  while g = 1
   処理2
   If GetKeyState(Vk_C) then g = 0
  wend

wend

というスクリプトなのですが、while g = 1がループする時としない時があります

・ループする時は、処理2の実行を繰り返す
・ループしない時は、処理2の実行を1回だけ実行して、Cキーを押していないのにループを抜けて処理1を繰り返す

スクリプトの内容はまったく変えていません
原因をご存知の方が居ましたら、対策方法を教えて頂けないでしょうか

554 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 10:19:13.33 ID:EVCP5Wph0]
>>553
GetKeyState のループは、ループを抜けた直後にテストすると前回の結果が残ってる場合がある。
GetKeyStateが繰り返される場合は、処理を分岐する前にSleepを入れる必要がある。

If GetKeyState(Vk_C) then g = 0
ifb a = 50
g = 1
while g = 1
If GetKeyState(Vk_C) then g = 0

↑の順番で実行されるときに前回の結果が残ってて抜けちゃう。
GetKeyState〜GetKeyStateの間のどこかで、0.5秒〜1秒くらいの休みが必要。
ただし、キーを長く押すとSleepを入れても引っかかる。
それをキャンセルしたかったら自分でKBDを送信して上書きするとかが必要。


もっとスマートに解決するなら、キー入力イベントを使うといいよ。
そしたら長く押すとかSleepとか関係なくなる。


555 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/29(木) 13:20:13.80 ID:Mj80iSIF0]
>>554
目から鱗です!
確かにキー入力を使った時に現象が多発していました。
早速キー入力イベントを使ってみます。
本当にありがとうございます!

556 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/30(金) 00:47:23.05 ID:L6jbcesv0]
横から聞くけどキー入力イベントってなんぞ?
GetKeyState以外でキー感知できるのか
WinAPIかなにかなのかな

557 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 07:34:35.82 ID:PHgd+EtO0]
将棋板の升目のように配置された図形がありそのすべてを中クリックし、
次のページがあれば次のページへ移り、次へがなければ終了というものを作成途中です。
以下のマクロですと横一列をクリックして、たて一列をクリックして次のページに行ってしまうのですが、
どこを改良すればよいかアドバイスお願いします。


sleep(5)

//続ける
if GETKEYSTATE(VK_ESC) then exit // ESCキーを押すと終了させる

while true

//座標(0,X)から右(3840,3200)の範囲
X=0
while CHKIMG("枠_01.bmp",-1,X,0,3840,3200)//画像があればループ
//画像の左上端から30px右、30px下の座標をクリックする
BTN(MIDDLE,CLICK,G_IMG_X+30,G_IMG_Y+30,3)
X = G_IMG_X+1
sleep(1)
wend

Y=0
while CHKIMG("枠_01.bmp",-1,0,Y,3840,3200)//画像があればループ
//画像の左上端から30px右、30px下の座標をクリックする
BTN(MIDDLE,CLICK,G_IMG_X+30,G_IMG_Y+30,3)
Y = G_IMG_Y+1
sleep(1)
wend


558 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 07:35:23.52 ID:PHgd+EtO0]
KBD(VK_BACK,CLICK,100) //BS
sleep(1)

KBD(VK_BACK,CLICK,100) //BS
sleep(1)

//次へがなければページ送り
ifb CHKIMG("枠_01.bmp",-1,0,Y,3840,3200) = false then
KBD(VK_NEXT,CLICK,100) //PAGEDOWN
sleep(1)
Y=0
endif

ifb CHKIMG("次へ_01.bmp",-1,0,Y,3840,3200) = false then//範囲内に次へ_01.bmpが無ければ
//次へがあったらクリックする
ifb CHKIMG("枠_01.bmp",-1,0,Y,3840,3200) then
//画像の左上端から30px右、30px下の座標をクリックする
BTN(MIDDLE,CLICK,G_IMG_X+30,G_IMG_Y+30,3)
sleep(2)
else
//次へがなければ終了する
exit//終了
exit//終了
endif
endif

wend

559 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 10:04:53.44 ID:skFAmUgc0]
>>557
XとYをまとめてこんな感じにするとか
if条件の3840は画像の幅の分減らさないとだめだろうけど

X=0
Y=0
while CHKIMG("枠_01.bmp",-1,X,Y,3840,3200)//画像があればループ
//画像の左上端から30px右、30px下の座標をクリックする
BTN(MIDDLE,CLICK,G_IMG_X+30,G_IMG_Y+30,3)
X = G_IMG_X+1
ifb X > 3840
X = 0
Y = G_IMG_Y+1
endif
sleep(1)
wend



560 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 10:25:48.10 ID:0XuzNx4L0]
>>559 でいいと思うけど普通に二重forループにすればもっと簡潔に書けるな。

561 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 10:51:43.21 ID:skFAmUgc0]
っていうかこれでいいのでは

n = CHKIMG("枠_01.bmp",-1,0,0,3840,3200,-1)
for i = 0 to n-1
BTN(MIDDLE,CLICK,ALL_IMG_X[i]+30,ALL_IMG_Y[i]+30,3)
sleep(1)
next

562 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 11:25:10.87 ID:0XuzNx4L0]
>>561
ALL_IMG_XとALL_IMG_Yはどこから出てきたんだ

563 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 11:28:27.58 ID:bXuTehsY0]
>>562
とりあえず最新版のヘルプ位嫁と。

昔はこんなの無かった気がするがな。
chkimgなんか使わんから俺も知らんかった。

564 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 12:28:06.64 ID:0XuzNx4L0]
>>563
ああなるほど。理解した。ありがとう。
でもall_img_xとall_img_yでうまくいくような画面構成なのかな。
いやよくわからんが。

565 名前:名無しさん@お腹いっぱい。 [2012/01/06(金) 12:31:16.18 ID:VuDmH/f50]
どうにも解決しないので質問させてください。

当たりと外れのリンクが並んでおり、
(1)当たりのリンクを画像で判別
(2)別タブで開く
(3)表示されている当たりリンクをクリックし終えたらスクロール
(4)1から繰り返す
(5)ページ内の当たりリンクを一度ずつクリックし終えたら終了

3と5の処理が解決せず、現状2までの段階でつまづいています。
以下が2までのスクリプトです。

While true
SLEEP(1)
 IFB CHKIMG("atari.bmp") //atari.bmpを検索
  KBD(VK_CTRL,DOWN,10) //別タブで開く
  BTN(LEFT,CLICK,G_IMG_X+5,G_IMG_Y+5,3)
  KBD(VK_CTRL,UP,10)
 Else
  KBD(VK_NEXT,CLICK,40) //atari.bmpが無ければスクロール
 ENDIF
Wend

どうかアドバイスをお願いいたします。

566 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/06(金) 13:12:51.79 ID:HgkIipKY0]
IE叩けばもっときれいにできそうな気がする

567 名前:名無しさん@お腹いっぱい。 [2012/01/06(金) 18:43:50.67 ID:jkZMFLuo0]
0時 1.UWS
3時 2.UWS
6時 3.UWS

翌日
3時 1.UWS
6時 2.UWS
9時 3.UWS

時間をずらしてループさせていく方法教えてください

568 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/06(金) 19:28:28.38 ID:hqV782Fu0]
ループ部分だけ、やっつけ回答(検証もしてない)ww

dim interval[2]=10800, 10800, 75600
Time1=gettime()
While true
  for i= 0 to 2
    repeat
      sleep(60)
      Time2=gettime()
    until Time2 - Time1 >= interval[i]
    Time2= Time1
    exec("フルパスuwsc.exe "+i+1+".uws")
  next
wend

569 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/07(土) 12:16:14.80 ID:86C9Ij5x0]
ファイルの中身を全消去したいと思っています。
下記のように書きましたが、動きません・・・
どこがおかしいでしょうか?
よろしくお願いします。

fid = FOPEN("C:\log.txt", F_READ or F_WRITE)
For line = 1 to FGET(fid,-1)
FDELLINE(fid,line)
Next
FCLOSE(fid)
EXITEXIT



570 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/07(土) 12:26:01.76 ID:OMSuV0AE0]
>>569
ヘルプによると
>F_WRITE      // 書き専用モード(既にファイルがあれば前の情報は消去)

モードにF_READいらないんじゃない?
開いて閉じるだけ。

571 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/07(土) 13:07:06.89 ID:86C9Ij5x0]
>>570
F_READを消したらうまくいきました!
ありがとうございます!!

572 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/08(日) 10:50:37.63 ID:Rn7jJzWy0]
ブラウザ開いて画面をスクロールしたいと考えていますが
最後のスクロールだけできません。
間違いを教えていただけないでしょうか?

Dim ObjIE = CreateOleObj("InternetExplorer.Application")
ObjIE.Visible = True
ObjIE.Navigate("www.yahoo.co.jp/")
Repeat
  Sleep(0.2)
Until !ObjIE.Busy and ObjIE.ReadyState = 4 // IEの表示待ち
 
TITLE = GETID("yahoo")
CTRLWIN(TITLE, ACTIVATE)
CTRLWIN(TITLE, MAX)

Sleep(0.2)

KBD(VK_NEXT,CLICK,3) //PAGEDOWN

573 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/08(日) 14:08:57.12 ID:pCt01lqC0]
>>572
書いてある操作を実際に自分の手作業でやってみろよ。
なぜだかわかる。

574 名前:572 mailto:sage [2012/01/08(日) 16:33:48.81 ID:Rn7jJzWy0]
>>573
レスサンクス。
手作業でも同じ事象になるのは理解しました。
ページクリックすればPAGEDOWNする。
ページクリック=アクティブにするって事・・・じゃなくて?

575 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/08(日) 16:58:41.85 ID:479QIulh0]
わからない事がわからない…
そんな時代もありました。

576 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/08(日) 20:34:18.47 ID:aKLGGiFU0]
>>572
PageDown キー押下をクライアント領域一つ分下にスクロールさせる事と解釈した場合

OPTION EXPLICIT
OPTION SHORTCIRCUIT

DIM ie = CREATEOLEOBJ("InternetExplorer.Application")
ie.Visible = TRUE
ie.Navigate("www.yahoo.co.jp/")

REPEAT
  SLEEP(0.2)
UNTIL !ie.Busy AND ie.ReadyState = 4

DIM document = ie.Document
DIM h = document.documentElement.clientHeight

document.parentWindow.scrollBy(0, h * 3)


scrollBy メソッドの詳細は以下
ttp://msdn.microsoft.com/ja-jp/library/cc428160.aspx

577 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/08(日) 20:42:08.41 ID:aKLGGiFU0]
>>576 訂正します
クライアント領域一つ分下に
  => クライアント領域の高さ一つ分下に

また KBD 関数の第三引数を回数と勘違いしていましたので
document.parentWindow.scrollBy(0, h * 3)
  => document.parentWindow.scrollBy(0, h)
として下さい

まことに申し訳ありませんでした

578 名前:572 mailto:sage [2012/01/09(月) 05:43:50.93 ID:f0eW8W0qP]
>>576-577
ご指導ありがとうございました。
早速、試してみたいと思います。
ありがとうございました!

579 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/10(火) 08:08:39.83 ID:rHvUg0XiO]
uwscで現在開いているページのhtmlソースを取得することは出来ますか?
キャッシュの保存場所からの取得を試みたんですがうまくいかなくて。(fgetで1行しか取得出来ない)
なおブラウザはchromeです。何かよい方法はありませんか?




580 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/10(火) 09:00:38.88 ID:oumgSqx8i]
>>579
右クリック、ソース表示

uwscはIEのみ割合融通が効く
あとは道が用意されているかで、大半はベタに手作業をやるしかない

581 名前:名無しさん@お腹いっぱい。 [2012/01/11(水) 03:46:28.70 ID:g75gj0wE0]
>>568
さっぱりわからんかったからあきらめた(´・ω・`)

582 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 15:24:44.02 ID:m+JsXwWX0]
メイン関数内でsleepしてると別スレッドでGETIDした時にやたら時間がかかるんだけど、これは仕様?
メインとスレッドの関係を入れ替えれば問題ないんだけどそれ以外に回避方法ないかな

583 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 15:28:03.88 ID:aWCCUq4y0]
UWSC初心者なのでサンプルを見ながら応用しているのですが、
伺いたいことがありカキコします。

エクセルのセルA1のURLをIEで開き、ある時間が経ったらA2のURLをIEで開く・・・
そんなプログラムを検討しているのですが、当方エクセルがありません。
そこで、Open Officeで製作したxlsファイルで同様の事ができないかググッているのですが、
なかなか見つかりません。

下記のプログラムを応用したいのですが、Open Officeへ変更できないものでしょうか・・・


EXCEL = CREATEOLEOBJ("Excel.Application")
EXCEL.visible = True
Excel.WorkBooks.Open(FileName :="C:\abc.xls")

Excel.Range("A1").select
URL = EXCEL.selection.value

IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.visible = True
IE.navigate(URL)

584 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 15:38:50.15 ID:7jlzSH1ui]
>>583
エクセルに拘らないなら
テキストファイルの読み出しで良いんじゃない?

585 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 16:04:40.34 ID:aWCCUq4y0]
>>584
そうですね、その手もあるのですが最終手段で・・・

586 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 16:12:21.80 ID:aWCCUq4y0]
おそらくOpen Officeのxlsファイルはexecで開くだろうと目星付いているのですが、
そのxlsファイルのA1セルを選択してURLとする関数が分からないんです。
エクセルのサンプルはよく見かけるんですが・・・

587 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 16:50:42.40 ID:HGqIT2Nx0]
Open OfficeってCOMインターフェイスあるの?
あるなら>>583


588 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 16:55:32.60 ID:HGqIT2Nx0]
途中で送信しちゃった
COMインターフェイスないなら>>583みたいなCOM経由の操作はできないよ
uwscのgetstrとかで取得してかなきゃダメだとおもう

589 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 17:37:55.28 ID:HGqIT2Nx0]
ああ
ttp://www3.bigcosmic.com/board/s/board.cgi?id=umiumi&start=103&log=ON&cnt=21
COM使えるみたい



590 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/12(木) 00:03:51.07 ID:9Jj396OZ0]
スクリプトで株の自動注文とか恐ろしい事考える奴いるんだな・・・

591 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/12(木) 10:54:31.82 ID:xBAC4oJN0]
>>590
やるなら、API直接叩けるならまだ理解出来る
ブラウザやエクセルの人間的動作を通してなら、不確実過ぎて泣ける

592 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/12(木) 12:46:33.62 ID:nZDoSlf20]
>>581
ちょっと見直してみたら間違い発見 スマン
9行目 ×Time2= Time1 -> ○Time1= Time2

というか、このループだと24時間365日PCシャットダウンNGだから実用的でないよw
テキストファイル等にlog落としてやらないと無理だと思う
(UWSCのイニシャルファイルを毎日書き換えるスクリプト書くとか…)


593 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/12(木) 14:26:47.70 ID:BKa5D+cQ0]
>>587-589
なるほどですね、ココらへん少し調べてみます。
情報有り難うございます!

594 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/12(木) 23:11:29.95 ID:r8P1bghB0]
最新版でもSLIDER関数こわれてない?

595 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/13(金) 07:35:49.49 ID:e/JEGIOK0]
>>567
3時間ごとに起動して1日に3時間ずらすなら24時間+3時間の27時間後に再度起動すれば良いよ
スクリプトは適当に組めばいい

596 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 02:17:33.07 ID:7l9tSFEA0]
ADOを使ってuwscからDBにインサートをかけましたが、
エラーになります。in1を'bbb'など、文字列にすると
DBにインサートをかけることができます。
in1が変数だとエラーになってしまうみたいですが、
何が原因でしょうか?

Dim in1 = "abc"
cn.OPEN()
cn.Execute("INSERT INTO test (test1,test2) values(in1,'aaa');")

597 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 09:35:09.72 ID:eeJFKUsa0]
文字列の中に変数名を書いてるから

598 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 09:41:37.98 ID:7l9tSFEA0]
>>597
ご回答ありがとうございます。
cn.Execute("INSERT INTO test (test1,test2) values(in1,'aaa');")を実行
させるには、
cn.Execute("INSERT INTO test (test1,test2) values(" + in1 + ",'aaa');")
とやるしかないでしょうか?

599 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 09:42:40.94 ID:eeJFKUsa0]
ADOなんてさわったことないからわかんないけど
こうすれば動くのでは?
cn.Execute("INSERT INTO test (test1,test2) values("+in1+",'aaa');")



600 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 15:23:08.09 ID:6TClJCPA0]
uwscでIEを複数開くとき、一つ一つを新規セッションで開く方法があれば教えてください

601 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 15:24:00.25 ID:6TClJCPA0]
uwscでIEを複数開くとき、一つ一つを新規セッションで開く方法があれば教えてください

602 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/15(日) 00:41:45.74 ID:nE9VgamT0]
comインスタンスをその度生成しろ

603 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/15(日) 01:16:20.39 ID:V/SNJG5u0]
>>596
発想がPHPer

604 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/15(日) 10:29:49.46 ID:eKAKYI5K0]
ラダーの歩進回路のような
入力Aなら処理1
続いて入力notAなら処理2
続いて入力Bなら処理3
続いて入力notBなら次へ

という感じのを作るのに
各処理をwhile〜 if 〜elseCONTINUE〜endif〜wendでやると
すごく長たらしいのですがスッキリできませんか?

605 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/15(日) 12:31:56.88 ID:QrGo7/5p0]

「指定した文字の10ピクセル上を左クリック」
うまい方法を教えていただけないでしょうか?

606 名前:605 mailto:sage [2012/01/15(日) 13:30:10.86 ID:QrGo7/5p0]
すいません自己解決しました

607 名前:名無しさん@お腹いっぱい。 [2012/01/15(日) 16:26:16.85 ID:iv4Sgz2W0]
ここ数日マクロ作りにハマって、割と長いのを作ったんだけど、
画像認証が多すぎて、uwscの窓がずっと点滅してる状態なんだけど、長時間ループさせてても大丈夫ですか?

極力sleepを多く入れたんだけど。pcに負担になってるような気がしてちょっと怖い。暴走しそうなオーラが漂っている。


608 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/15(日) 16:36:13.88 ID:vCx4hJnj0]
>>607
それぞれの環境・スクリプト・実行時間があるので、実際に試す以外は無いだろう。
制御できる暴走は例外処理と呼ばれるからな。ちゃんとエラーをチェックして対処できるようにしておけよ。

609 名前:名無しさん@お腹いっぱい。 [2012/01/15(日) 16:59:27.23 ID:kFD794I50]
保存押しても保存すべき有効なデータがありませんって表示されるのですがなんででしょうか?




610 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/15(日) 17:41:29.40 ID:xbYnzYrY0]
>>609
保存すべき有効なデータがないからじゃね?

611 名前:名無しさん@お腹いっぱい。 [2012/01/15(日) 20:35:48.49 ID:hkfzc5TE0]
>>608
あり^^

いやープログラム作るの楽しいわw

間違いをみつけるのも楽しいし思った通りに動いたときの快感は凄いね。

プログラムって、最初不可能に思えたことでも、粘り強く考えて調べてやってれば、必ず正解に辿り着けるね。

ちょっとでも間違ってたら動いてくれないけどバッチリ作ればその通り動いてくれるところが好き。やりがいがある。

612 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/15(日) 21:54:09.75 ID:GGn+/cHQ0]
すげーな。俺なんて

「間違ってる筈無いのに!」←確実に間違ってる

と言う事を悟って尚同じ言葉を繰り返してるぞ

613 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/15(日) 23:55:51.29 ID:MxRh+cwy0]
最初は間違ってるか合ってるかわかりやすいんだけど
しばらくやってると合ってるんだけど思い通りには動かないって箇所が出てくるんだよな…

sendstrとかボタンのクリックとか、書いた通りに確実に動くとは限らないってのが
出てくると困る。sendstrの検証とか余計な動作書かなきゃならなくなるのがなんとも。

614 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/16(月) 00:54:02.47 ID:LIA/j70U0]
マクロ作り出したばっかりとかプログラムやった事が無い人のために1つ助言をしておいてやろう
「あれ?バグ?」っていう風なおかしな動作を見つけたなら、まずその処理がどんな所にありそうか見当をつける
そして式や処理内容自体を自分が勘違いしてないか確認する
もちろん変数のウォッチはprint文などでチェック
言うまでも無くトレース実行出来る機能があるならそれを使う
そして変数の代入や処理の勘違いも無く全部正常に書き直す作業をする
これだけで驚くほど他のバグが見つかる

615 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/16(月) 01:04:53.01 ID:68a88Ysp0]
IEでclkitem関数が同じボタンでも機能する時としない時があるのはなんでなんでしょう
文法は

clkflg = ClkItem(IEid, btn_name, CLK_ACC or CLK_BACK)  //btn_nameのボタンをクリック

であってますよね?同じボタンでもクリックできる時とできない時があります
CLK_BACKを指定すると不安定になるのかしら

616 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/16(月) 02:09:49.92 ID:i+BqAMX70]
>>615
ieでなぜにckitem使うのかいな?素朴な疑問…

617 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/16(月) 04:16:02.96 ID:68a88Ysp0]
comをほぼ全く把握してないから&別のやつ用のスクリプト流用してるからです^q^
その回答だとcom使ってボタン叩けるってことですよね、面倒だけどMSドキュメント漁ってきます

618 名前:名無しさん@お腹いっぱい。 [2012/01/16(月) 09:26:47.08 ID:nMIpHxy10]
>>567
3時間毎に起動はするけど、
対象外の時間の起動を無効にする処理を入れるとか。

619 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/16(月) 09:38:33.37 ID:OG4ZTORv0]
(3時間ごとの時刻生成)+日数×3 mod 24
これでいける。




620 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 08:49:01.57 ID:K3OlpIBQ0]
>>614に大体賛同だな
あと付け加えるなら処理を行いたいウィンドウがアクティヴになってるか常にチェックを入れておくことかな

621 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 17:21:11.31 ID:3FCYgKhU0]
>>66
>CTRLWIN(GETID("ウィンドウタイトル"),max,activate)
>とすることで一行で済みました。

こんな書き方って出来るっけ?最初の命令、カンマ以降は利かないようだけど

622 名前:名無しさん@お腹いっぱい。 [2012/01/18(水) 00:46:22.03 ID:R0g/Jmmn0]
ifbに対しendifが無い って今日1日で70回くらい言われた

623 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/18(水) 09:26:32.75 ID:ISISf7Vj0]
多分>>66を書いた人は
RestoreかMinimizeかhideのウィンドウがmaxでMaximizeされて同時にアクティブになったのをactivateが利いたんだと勘違いしたんだと思う
元々Maximizeのウィンドウはmaxでアクティブにはならない
そこで作者様に要望、max命令ひとつであらゆるウィンドウをVisibleでアクティブにしてほしいです

624 名前:名無しさん@お腹いっぱい。 [2012/01/18(水) 12:25:33.22 ID:R0g/Jmmn0]
endifが抜けてたのにエラーにならず教えてもらえなかったんだけどこんなことってあるんですか?
そのスクリプトを別のメモ帳にコピペしてやってみたらエラーになって気付いた。
一体なんだったんだ

625 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/18(水) 13:28:59.94 ID:+3/B93vW0]
>>624
ツンデレだな

626 名前:名無しさん@お腹いっぱい。 [2012/01/19(木) 08:05:37.69 ID:/5HHXckmO]
uwscってもしかしてノートPC上じゃ動かない?


627 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/19(木) 08:38:02.64 ID:vNYY2dx20]
動くが?

628 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/19(木) 11:38:20.48 ID:ApNHow2lP]
動かないと思う理由が理解出来ない。
まぁ画面サイズが違うとか、その辺が現実的か。

629 名前:626 mailto:age [2012/01/20(金) 07:48:15.93 ID:PlIm9VKvO]
すまない
Windows7のノートPC上でマウスの動きを記録してくれないんだ
どうなっているんだろう?




630 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/20(金) 08:02:33.24 ID:jqXYohw30]
Windows7のノートPC上で、ネトゲマクロ作ろうとしてるんだけど
マウス操作記録できないわけですね。わかります

631 名前:名無しさん@お腹いっぱい。 [2012/01/22(日) 17:32:28.60 ID:wwwfNGh70]
INPUTBOXをproを購入する前にhtmlで複数窓でFORMを出したい。
↓html
<Form Method='Post'>
入力1:<input type="text" name="aaa" size=50 maxlength=30">

入力2:<input type="text" name="bbb" size=50 maxlength=30">

<input type="button" name="okbtn" value=" OK " onClick=" value='OK終了'">
<input type="button" name="cancelbtn" value="CANCEL" onClick="value='CANCEL終了'">


632 名前:名無しさん@お腹いっぱい。 [2012/01/22(日) 17:33:57.62 ID:wwwfNGh70]
続き
// 以下は実行用スクリプト
IE = CreateOLEObj("InternetExplorer.Application")
IE.Width=600; IE.Height=400; IE.Visible=True
IE.Navigate(GET_CUR_DIR+"\test.html")
while True
  sleep(1)
  ifb IE.document.all["okbtn"].value = "OK終了"
    print "OK"
    print IE.document.all["aaa"].value
    print IE.document.all["bbb"].value
    break
  elseif IE.document.all["cancelbtn"].value = "CANCEL終了"
    print "CANCEL"
    break
  endif
wend
IE.Quit

でCOMエラーがでるんだけど何でだろ?TextBlockでくるんでも同じ。

633 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/22(日) 21:01:59.73 ID:XlS52BHO0]
>>632
httpのステータスコードかとおもったが…

>IE.Navigate(GET_CUR_DIR+"\test.html")
これはなんだw ローカルサーバでも立ち上げてるのか
直接ローカルファイル指定するのにしても、プロトコルが違うだろw


634 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/22(日) 21:30:23.45 ID:ZQaDwkbX0]
>>631,632
そのままで問題なく動いたよ?

>>633
ローカルファイルを開くだけなのに?

635 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/22(日) 23:29:31.15 ID:x467cUIP0]
>>633
プロトコルとか関係なくね?
そのままローカル開くようにIEが操作するだろ
インターネットもファイルの1つだし

636 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/23(月) 08:21:16.46 ID:jRcgnCgt0]
textblockってどういう時に役立ちますか?

マニュアルには
複数行にわたる文字列を変数として定義します

とありますが、どういった時に使うんだろう?

637 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/23(月) 12:11:17.97 ID:P0ppPqWG0]
num1 = "123<#CR>456<#CR>789"
こういう表記が

TextBlock num1
123
456
789
EndTextBlock
これで済むってことじゃね?

638 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/23(月) 12:25:01.86 ID:Ap6Rkw4u0]
ファイルにテキストを書き込む時に
一行毎にFPUTとかで書くんじゃなくて
変数に全部突っ込んだ後に一気に書き込む方が便利。

639 名前:名無しさん@お腹いっぱい。 [2012/01/23(月) 14:35:37.99 ID:cOA0Xe6m0]
631だがまだわかんね・・・・
ifb IE.document.all["okbtn"].value = "OK終了"
でCOMエラー。なんかDOM指定が間違ってんじゃないか。わからん
>>634 UWSCのバージョン何
>>633 nem.symphonic-net.com/uwsct/0705uwscSpec.html#080408 眠たい詩人の説明
   iriyak.adam.ne.jp/arc/uwsc/031012_UWSC_R_option_builder.txt
    入谷さんの説明↑わかりやすい
VBSとかINPUT複数までのできなくて人に使わすアプリにできないでしょ。
ここどうしてもクリアしたい。負けたらPRO買う。



640 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/23(月) 18:33:37.73 ID:SDeLihIt0]
textblockってコメントアウトのことだと思ってた

641 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/23(月) 18:48:16.87 ID:jRcgnCgt0]
>637 >638
ご回答ありがとうございます。理解できました。

642 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/23(月) 23:59:46.34 ID:jRcgnCgt0]
random関数で、30以上60未満の間の数をランダムで返す
といったような事はできるんでしょうか?

643 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 00:01:52.57 ID:7ZsaPXOq0]
>>642
30足せよ

644 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/25(水) 03:52:47.74 ID:9Yzwhwbv0]
例も無しか

645 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/25(水) 11:43:56.31 ID:TIuVKniE0]
初心者な質問で申し訳無いですが、

1) 手動でカーソルを画面任意の位置へ移動
2) マクロスタート
3) クリック
4) 3)でクリックしたところから、20pix右もクリックする。

こんなマクロを製作したいのですが、

3)クリック+座標を取得
4)取得位置から20pix右をクリック

のような方法しかないのか?もしくは
座標取得せず、3)のクリックした位置から相対的な移動で20pix右をクリック
なんて関数はあるのでしょうか?

説明ベタでスイマセン・・・

646 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/25(水) 17:59:06.69 ID:WBVfYz9r0]
ヘルプ見てないなら無い。

647 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/25(水) 18:33:07.06 ID:tYtUBWmf0]
既にわかってる座標を取得って意味不明

648 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/25(水) 18:45:20.06 ID:7Vqkyg300]
まあ、関数が欲しいというのなら関数にすればいいw

procedure 20ピクセル右をクリック()
btn(left,click,g_mouse_x+20,g_mouse_y)
fend

649 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/26(木) 00:14:42.56 ID:thgzPnCC0]
SLCTBOXでSLCT_RDOの項目の3番目以降を選択すると
戻り値が倍倍になります
1番目=1
2番目=2
3番目=4
4番目=8
なんでなん
ret=slctbox(slct_rdo,0,"めっせじ","項目1","項目2","項目3")
msgbox(ret)



650 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/26(木) 00:21:50.90 ID:thgzPnCC0]
事故解決

651 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/26(木) 01:08:45.43 ID:JvkQNEuO0]
ドラッグ&ドロップでuwscスクリプトに引数としてファイルのパスを渡す方法はありませんか?
batファイルを経由したりすればできるのかな






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<253KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef