1 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/16(月) 07:57:49 ID:+HI9MOeK0] Windowsを自動化させるツールUWSC。 ttp://www.h7.dion.ne.jp/~umiumi/ uwsc使いのみなさま、マターリ己のスクリプトを晒しましょ。 前スレ 自動化ツールuwsc使いよ集まれ2 pc11.2ch.net/test/read.cgi/software/1156416884/
910 名前:905 mailto:sage [2009/02/14(土) 22:56:30 ID:+5xZKKxJ0] 事故解決しました。 しかし、次の問題が。ソースから <!-- △△△ --> 複数のアドレス <!-- ◇◇◇ --> このようなソースがあった場合、三角から四角までの間にある複数アドレスを ゲットして一個ずつ開いていくというのはできますか? ちなみに間になければ似たようなアドレスは開けています。上でも書きましたが 改めてソースを書いときます。 IE = CREATEOLEOBJ("InternetExplorer.Application") IE.visible = True IE.navigate("www.yahoo.co.jp ") REPEAT SLEEP(0.1) UNTIL !IE.BUSY AND IE.READYSTATE = 4 KAISU = IE.document.links.length FOR A = 0 TO (KAISU - 1) IFB POS("dailynews.yahoo.co.jp ", IE.document.links[A].href) > 0 IE2 = CREATEOLEOBJ("InternetExplorer.Application") IE2.visible = True IE2.navigate(IE.document.links[A].href) ENDIF NEXT IE.QUIT 上記のソースでページ内にあるアドレスを順に開いていくことはできます。 何かわかりましたらよろしくお願いします。m(_ _)m
911 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/15(日) 00:48:48 ID:48UC/FQI0] >>908 if flag = true とかいう書き方をしてると if POS() = true というバグを見落とすことになる。 flagにしたって、状態がOn/Offだけとは限らない。 ボタンは白黒が基本だけどグレーだってある。 拡張してグレーを入れるとき、 何も考えずに取得した状態を放り込んでるとバグが発生することになるが、 自分がいじってない場所に影響が出るとは考えにくいし。 なにより、取りうる値をいちいち調べないといけない if flag = true なんか使ってると手間が増えるだけ。
912 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/15(日) 01:18:42 ID:48UC/FQI0] >>910 <!-- △△△ -->と<!-- ◇◇◇ -->を除外ということならシンプルだけど <!-- △△△ -->と<!-- ◇◇◇ -->の間を処理するというのは、その処理基準が不適切と思われる。 ほかに手がなければしょうがないけど。 @ FOR A = 0 TO (KAISU - 1); start = A + 1; next // <!-- △△△ -->が出るまで空回り A FOR A = start TO (KAISU - 1); 処理; next // <!-- ◇◇◇ -->が出るまで処理 @で空回りした回数をstart にセットして、Aでstartから再開すればいい。 <!-- △△△ -->が一度も出てこなかった場合、startにKAISUが入るので、多分Aは素通りする。 IE = CREATEOLEOBJ("InternetExplorer.Application") IE.visible = True IE.navigate("www.yahoo.co.jp ") REPEAT SLEEP(0.1) UNTIL !IE.BUSY AND IE.READYSTATE = 4 KAISU = IE.document.links.length FOR A = 0 TO (KAISU - 1) start = A + 1 IF 0 < POS("<!-- △△△ -->", IE.document.links[A].href) then break NEXT FOR A = start TO (KAISU - 1) IF 0 < POS("<!-- ◇◇◇ -->", IE.document.links[A].href) then break IFB 0 < POS("dailynews.yahoo.co.jp ", IE.document.links[A].href) then // まだインデントつけてないしThen抜けてるよ。 IE2 = CREATEOLEOBJ("InternetExplorer.Application") IE2.visible = True IE2.navigate(IE.document.links[A].href) ENDIF NEXT IE.QUIT
913 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/15(日) 01:38:43 ID:h4gEwsYs0] ちなみにその考えじゃ永遠に無理。
914 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/15(日) 01:53:42 ID:MQRSTk0U0] こんなことができたらいけるかもと考えました。 1、三角から四角までの文字列をゲット。 2、1の中のアドレスだけゲット。 3、上記のやつでアドレスを一個ずつ巡回。 1は、HTMLで見ると表示されてるやつです。コメントというのかな?
915 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/15(日) 04:44:36 ID:ZJEnRiKf0] >>911 > if flag = true とかいう書き方をしてると > if POS() = true というバグを見落とすことになる。 バグとか言う以前に、そんな書き方はしない。 思いつく時点でおかしい なんで、IFの条件文でTrue/FalseのBoolean型をチェックするのに その条件文の中でわざわざTrue/FalseのBoolean型と比較する必要があるのか 無意味な重複になってる
916 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/15(日) 06:36:23 ID:LdrnYZV60] flag = trueって書き方自体はおかしな事じゃないでしょ ifの条件式の一部にあってもおかしくはない ただ、単体で「if flag = true then」と書くと蛇足ということになる UWSC的にあってるかどうかはわからないけど 「if (flagA = true) AND (flagB = true) then」なんて場合があるわけだし 「if POS() = true then」をPOS() > 0 のつもりで書いているなら 変数にどんな値が入っているか、型とかを考えてない。って話になるし POS() = 1 のつもりで書いているなら、同じ値だからといって 関係ない定数を使い回すな。という話になる 「if POS() then」がC畑の人の流儀というのは理解してるけど それを理解してない初心者が、何となく親切心かお節介で付け加えた結果が 「if POS() = true then」ということになってるじゃなかろうか
917 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/15(日) 11:31:41 ID:48UC/FQI0] >>916 >flag = trueって書き方自体はおかしな事じゃないでしょ 処理系にもよりますが、TRUEの値は保障されないので、比較で使うのはおかしい。 実際1という値を持っているしUWSCでは保障してるかもしれないけど、 一般的にそうなのでUWSCでもそういう癖はつけないほうがいいんじゃないかなと。 if (flagA = true) AND (flagB = true) then × // 成立するのはflagが1か0のときだけ if (flagA <> false) AND (flagB <> false) then ○ // 全ての値で成立
918 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/15(日) 20:05:10 ID:LdrnYZV60] だから、flag = trueに違和感を感じる人は boolean型がないC畑の人だけで boolean型がある言語系の人は何の違和感もないんだって flagって変数がboolean型なんだな。って思うだけだから
919 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/15(日) 20:30:21 ID:LdrnYZV60] > KAISU = IE.document.links.length > flag = false > FOR A = 0 TO (KAISU - 1) > IF POS("<!-- △△△ -->", IE.document.links[A].href) THEN flag = ture > IF POS("<!-- ◇◇◇ -->", IE.document.links[A].href) THEN flag = false > > IFB flag THEN > IFB POS("dailynews.yahoo.co.jp ", IE.document.links[A].href) > IE2 = CREATEOLEOBJ("InternetExplorer.Application") > IE2.visible = True > IE2.navigate(IE.document.links[A].href) > ENDIF > ENDIF > NEXT 例えば>>910 のサンプルで言ったらこういうことでしょ flagにはtrueかfalseしか代入してないんだから trueの値が保障されてないとか、trueかfalse、0か1以外が入ってることなんて考えなくていい この場合は「IFB flag THEN」を「IFB flag = true THEN」と書いたところで お節介と言うことにはならない それをPOS()という戻り値がINTのものに対してPOS() = trueとか書いてしまうと たまたま1の時だけtrueになってしまうということになる
920 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/15(日) 20:56:45 ID:48UC/FQI0] >>918-919 まあPos()のように0と0以外で判断するのはC言語系の考えとしても、 trueの定義がfalse以外のものとされてるのは、他の多くの言語で共通してるようだけど。 確かにtrueしか代入しないのなら確実に動作しそうだけど なんかの拍子にごみが入ったとき、trueで比較するとどんな動作をするか分からない。 まあごみが入った時点ではじかれるべきだからむしろtrueと比較すべきかもしれん。 つまりelseなんか使うなって事だ・・・
921 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/15(日) 21:21:15 ID:o+fSWy2v0] 型通りに書けばいいだけじゃ?、 flagはboolean型とみなしてコード書いてんだからtrueでいいし、 Pos()はint型だからtrueでの判定はナンセンスってだけ。
922 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/16(月) 06:46:17 ID:EmOr31T+0] For y = 0 to 250 〜 Call 〜 〜 Next POFF(P_SUSPEND2) と言う感じで外部スクリプトを呼び出して繰り返し作業をさせているのですが なぜか毎回209回で終わってスタンバイになってます なにか制限でもあるのでしょうか?
923 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/16(月) 09:09:28 ID:Y25mNBPu0] >>922 変数がかぶっているとか? callをコメントアウトしたらどう?
924 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/16(月) 23:09:04 ID:QUmq6Zuh0] >>922 //主 public i for i= 1 to 250 call call2.uws next //call2.uws print i でテストしてみたけど、制限などないようだよ…(アホだな自分もw)
925 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/16(月) 23:19:50 ID:+qFEC0Zh0] 自作関数で戻り値を配列で返すにはどうすればよいのでしょうか? 普通に配列を指定すると怒られます。
926 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/17(火) 01:13:40 ID:shI/FnE+0] >>925 イマイチ質問の意味がわからんけど関数内でResizeしてないんとちゃう? ttp://www.geocities.jp/stardust774/
927 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/17(火) 03:52:10 ID:X+NUGRkd0] >>925 関数の戻り値に配列って指定できたっけ? 俺は配列変数を参照渡しして、配列の長さを返却するようにしてる DIM ary[0] DIM i FOR i=0 TO hoge(ary, 3)-1 PRINT "ary["+i+"]: "+ary[i] NEXT FUNCTION hoge(VAR a[], n) DIM i FOR i=0 TO RESIZE(a, n-1) a[i] = i NEXT RESULT = LENGTH(a) FEND
928 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/17(火) 06:36:49 ID:hsq0Fe2s0] >>925 一言で言えば、無理
929 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/17(火) 12:52:47 ID:zwqJ4YAK0] >>925 俺もそれやろうとしたけどできなかったんで、配列のグローバル変数使ってやりとりしてるな かっこ悪いけど
930 名前:925 mailto:sage [2009/02/17(火) 15:04:26 ID:zlTNHss50] うーん、やっぱりできないっぽいですね 関数自体をループさせるか、グローバル変数使うしかないのかな… ありがとうございました
931 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/17(火) 15:42:00 ID:gznT5Jkz0] >>930 いや、>>927 は無視ですか。 関数の引数を定義するときに、var 変数名 と定義してやれば、値の受け渡しができます 同じ変数名ならグローバル変数みたいに使える。 2次元配列とかもできる。 ちょっと配列数と添え字がややこしいけど。 dim a[0] hoge( a ) FUNCTION hoge( var a[] ) dim i resize(a,10) for i = 0 to 9 a[i] = "x" next FEND >>927 はfor文 でResizeしてるっぽいけどありなのか。
932 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/17(火) 16:19:37 ID:gQhLPPZu0] FOR文自体は、中がループしてるだけで ループ毎にFOR文の行を処理してる訳じゃないからね。 2行に分けて書くか、1行にまとめて書くかだけの違いで。
933 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/17(火) 16:52:39 ID:gznT5Jkz0] いや、 for i=0 to Max っていうのは、i とMaxを比較するんじゃないかなと。 そしたらMaxは毎回処理されるんじゃないかなと思ったんだけど UWSCの場合はForが回数固定でカウンタとか保護されてるから大丈夫なんだろう。 いや、サイズが一緒だから変化がないだけかも。 C言語でいうと for( i=0; i<Max; i++ ) iやMaxはループ中で変更できちゃうんだよね。 そんで初期化以外は毎回評価、実行されるんだよね。 初期化が入ったとき1回だけなのは当然だけど、終了条件の実行回数は分からない。 だからC言語でループ回数に関数を使うときは for( i=sizeof(array); i>=0; i-- ) て言う風に初期化子として使う。 いや、そんなことしてなかったな。俺は。 どうせ最適化してくれるだろうと思って。
934 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/17(火) 17:00:23 ID:gznT5Jkz0] // forのテスト。終了条件を関数で指定するとどうなるか。 for i = 0 to test(i) print "roop" + i sleep(1) next Function test(i) print "Func" + i result = 2 FEND 実行結果。終了条件の関数は、カウンタの初期化の後1回だけ呼ばれる。 Func0 roop0 roop1 roop2
935 名前:925 mailto:sage [2009/02/18(水) 13:34:14 ID:YzuvFpA90] 恥ずかしながら>>927 の意味がよくわかってませんでした(;´Д`) >>931 わかりやすい説明ありがとうございます これは便利ですね!
936 名前:922 mailto:sage [2009/02/19(木) 18:03:25 ID:LQepcHmb0] ログが最大209行で終わっていたというあほな理由でした 吊ってきます
937 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/19(木) 18:22:19 ID:ac9y3F6q0] (´・ω・`)
938 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/19(木) 20:54:42 ID:UxnJe9qS0] 複数行のテキストを入力できるようなインターフェースって作れる? INPUTだと1行だけだよね
939 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/19(木) 21:04:22 ID:vC1/avge0] フォームでできるよ
940 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/19(木) 21:19:52 ID:UxnJe9qS0] >>939 ありがとう
941 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/20(金) 02:33:51 ID:Zfo0EG+70] IEでの動作の途中に、別ウインドウのコマンドプロンプトに文字列を記入するマクロをつくっているのですが、 SENDSTR関数か、SCKEY関数か、どちらの方が安定するものでしょうか? SENDSTR関数の方がいいような気もするし、 SCKEY関数の方が コマンドプロンプトのウインドウをアクティブにしなくていい分、 有利な気もするし、、、 ちなみに、CPU負荷が高い状態での動作になります。 どちらがいいでしょうか?
942 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/20(金) 06:24:43 ID:cWHe1c0/0] IEの特定のアドレスが含まれている画像のクリックするスクリプトを組んでいます。 前に、指定の範囲のアドレスを・・・と書いたものです。 他に方法はないかとソースなどをみてみたのですが、画像のアドレスなら前回の 場合と違い数が少なくできそうだなと思いました。 <a href="○○" target="_blank" onClick="return top_ekiden_click_chance('top4', '○○')"><img src="●●"></a></p> 上のソースの●●の部分は、複数あるのですが、POSでゲットして巡回できたらと思っています。 ちなみにリンクの場合上記にも書きましたが下のようになります。 IE = CREATEOLEOBJ("InternetExplorer.Application") IE.visible = True IE.navigate("www.yahoo.co.jp ") REPEAT SLEEP(0.1) UNTIL !IE.BUSY AND IE.READYSTATE = 4 KAISU = IE.document.links.length FOR A = 0 TO (KAISU - 1) IFB POS("dailynews.yahoo.co.jp ", IE.document.links[A].href) > 0 IE2 = CREATEOLEOBJ("InternetExplorer.Application") IE2.visible = True IE2.navigate(IE.document.links[A].href) ENDIF NEXT IE.QUIT
943 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/20(金) 11:35:06 ID:mn16sQrP0] >>941 SendSTR()は使えないよ。 ショートカットでのコピペもできない。 右クリックメニューを出して貼り付けは可能。
944 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/21(土) 19:32:30 ID:P+noKJtd0] uwscのエラーウィンドウを消すマクロってありませんか
945 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/21(土) 19:49:38 ID:OlRYAKfW0] >>944 まずはエラーメッセージを抑制するようにしたらいいよ。 OLEなら関連関数の例に書いてあるし、それ以外はUWSC本体の設定にあるか、INIファイル編集するとか。
946 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/21(土) 20:01:51 ID:P+noKJtd0] >>945 具体的にどうすればいいか教えていただけますか
947 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/21(土) 20:10:20 ID:P+noKJtd0] 例外エラー対策ならマクロの 最初に TRY を入れて マクロの末尾に EXCEPT endtry あたりいれるのがもっとも簡単なんでしょうか
948 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/22(日) 10:05:02 ID:Rpahjq6x0] >>947 まぁ、UWSCで用意されてるものだしなぁ 例外処理でこれ以上簡単なのはないと思うよ。 …エラーを起こさせないという前提で作ればもっと簡単になるけどねw あと、全体を無理やり囲うのはどうなん
949 名前:名無しさん@お腹いっぱい。 [2009/02/22(日) 17:59:07 ID:a3nz7nXd0] 特定の文字を判定してそこまでの文字を消すマクロはありますか? 例えば 「あいうえお」と入力してあって 「う」まで消したい、そうすると 「あい」となるようなマクロです。
950 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/22(日) 18:28:16 ID:DuKIHBzQ0] POS COPY CHGMOJ でいいじゃねーの
951 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/22(日) 18:31:19 ID:K0Xm20HXP] string = "あいうえお" find = "う" MsgBox(COPY(string, 1, POS(find,string)-1)) いや、違う? この世界に「愛」だけを残す方法を我々に聞いているのか?
952 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/22(日) 19:08:17 ID:a3nz7nXd0] >>950 初心者なのでよくわかりません >>951 できれば表計算ソフトで使用したいのですが・・・
953 名前:名無しさん@お腹いっぱい。 [2009/02/22(日) 19:14:53 ID:mX0F8+M00] >>952 冗談じゃなく、ロジックを正しく説明してくれないとプログラムなんか書けませんから。 日本語から勉強してきてください。
954 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/22(日) 19:16:18 ID:lHLWjdVe0] >>952 その表計算ソフトのスレででも聞けよ…
955 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/22(日) 21:10:11 ID:a3nz7nXd0] >>953 セル内に 1戦1勝0負 10戦5勝5負 1000戦500勝500負 ・ ・ ・ となっているものを負を消して 1戦1勝 10戦5勝 1000戦500勝 ・ ・ ・ としたいのです。 よろしくお願いします。
956 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/22(日) 21:21:24 ID:feS5VAah0] 丸投げしたいなら他行ってくれ スレ違いだ
957 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/22(日) 21:37:49 ID:a3nz7nXd0] >>956 そうですか、自分で努力します。 失礼しました。
958 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/22(日) 22:42:54 ID:K0Xm20HXP] うむ たとえばExcelの場合だとしよう A1:A100(A1,A2,・・・A100のセル)にそのデータがあるとすればB1に =LEFT(A1,FIND("勝",A1)) を入れる。次にB1選択した状態でメニューから 編集-コピーを選択、B2:B100選択した状態で 編集-貼り付けを選択。 さらにB1:B100を選択した状態で 編集-コピーを選択、 C1を選択した状態で、 編集-形式を選択して貼り付け(だったっけ?)-値を選択すると C1:C100に目的のデータが入力される UWSCでやれない訳ではないけれど結構大変になる 一般的な表計算ソフトの標準機能でこのような簡単な手段は 用意されているのでそちらを調べたほうがいい
959 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/22(日) 23:27:25 ID:q6eIkfWd0] >>958 反応するなよ。反応されるとそれに対して反応したくなる… そんなに面倒なことせんでも(ry
960 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/22(日) 23:54:16 ID:a3nz7nXd0] >>958 ありがとうございます。参考になります。
961 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/23(月) 04:11:08 ID:S/nw+oX60] IEが複数開いてたとしてウインドウタイトルに特定の文字が含まれているもの 以外閉じるということはできますか? 例えばタイトルに「自動化ツール」というのがあるとして、その他タイトルに「自動化ツール」 が無かったら閉じるといった感じです。
962 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/23(月) 08:00:29 ID:7fqz0Mlm0] >>961 できます
963 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/23(月) 10:33:55 ID:S/nw+oX60] >>962 死にうせろ
964 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/23(月) 11:15:39 ID:H0niA5cQ0] >>961 簡単だよ
965 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/23(月) 11:42:07 ID:PyFhHQu70] >>961 できます。簡単だから頑張って
966 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/23(月) 16:39:43 ID:8oL82p7A0] >>961 タブブラウザ(FireFox3とか)を使うと、たくさんタブが増えても閉じるボタン一発で閉じれるよ。 ウィンドウをいっぱい開いちゃってもタスクバーで右クリックしてまとめて終了すればいい。 Alt+F4で連続終了させるのが簡単。Alt+TABやAlt+ESCと組み合わせてもいいし。 もしそういうスクリプトを作ったとして、たとえば銀行取引のページが別窓で表示されたときに 同じタイトルだからと言って閉じてしまうと取引が不完全なまま終了しちゃっておかしくなるかも。 あと、UWSCってタイトルでアプリを終了させようとすると、 UWSCってフォルダを開いてるエクスプローラーが閉じられたりUWSC自身が終了したり変なことになる。 そういうヘンなの作ってなにか意味あるの?
967 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/23(月) 21:08:56 ID:WFLH0UN70] それはお前だけじゃね?
968 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/24(火) 00:04:30 ID:3MTrBR1N0] >>961 ウィンドウタイトルに「自動化ツール」が含まれない IE6 を終了 DIM i FOR i=0 TO GETALLWIN()-1 IF STATUS(ALL_WIN_ID[i], ST_CLASS) <> "IEFrame" THEN CONTINUE IFB !POS("自動化ツール", STATUS(ALL_WIN_ID[i], ST_TITLE)) THEN CTRLWIN(ALL_WIN_ID[i], CLOSE) ENDIF NEXT
969 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/24(火) 00:47:30 ID:rOG7rC/gP] 私も考えてみたのですがIE7でタブを使っている場合は どうすればいいんでしょうね それさえ実現できれば>>961 さんの要求を完全に満たせると思うのですが
970 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/24(火) 11:56:45 ID:1GbWnsrA0] chkimg()で透過色指定+形でチェックを同時にできるようにしてほしいのう 画像内の文字に対するgrepみたいなのを作ってるのだけどフォントカラーが変わったら使えなくなってしまう フォントスタイル自体は固定なので問題ないんだけど
971 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/24(火) 15:42:30 ID:CGjnVP+X0] chkimgX() みたいな関数作って 内部で透過色&形の2重にチェックするぐらいしか思いつかないわー
972 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/24(火) 17:02:53 ID:Jl8nOyx+0] いやそれ画像2枚いりますやんw
973 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/24(火) 20:21:28 ID:7Fr+80aB0] 単純な input() や slctbox() ではなく、 リストボックスをいくつか置き、さらにそのリストボックスの値で ラベルが動的に変化するようなフォームを使いたいのですが、 同じようなことを試みられた方はいらっしゃいますか? やはり外部DLLを自作するしかないでしょうか。
974 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/24(火) 21:47:44 ID:AV7g6HDD0] >>973 DLLで画面出す気? プロパティみたいな感じで? UWSCの有料版で画面作れるらしいけど、 無料がよければ、最近HTAていうの知ったんだけど、 DynamicHTMLで画面作って、結果をクリップボード経由で渡すようなのなら作れると思う。 リストボックスが変更されたら表示を変更。 OKボタンにOnClickイベントとしてクリップボードにセット。 というHTMLを作って拡張子をHTAに変更。 いや、別にHTMLのまんまでもいいんやけど画面まわりうざいし。 あ、いつどうやって終了を知らせるかが問題だな。 ・・・
975 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/24(火) 21:51:45 ID:D2y5nC2+0] ajax使用webサイト超めんどー なんとかなんない?
976 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/24(火) 22:32:36 ID:7Fr+80aB0] >>974 ありがとう、参考になりました。
977 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/25(水) 13:22:51 ID:dj7Ej2fH0] >>968 思うような動作ができました。m(_ _)m
978 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/26(木) 18:52:26 ID:NcOYiIHC0] 多重起動禁止はiniファイルを弄ることで簡単にできるようになったのですが ほかのスクリプトの実行が終わった後に、後のスクリプトを実行できるようにする方法はありませんか?
979 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/26(木) 19:39:33 ID:ncgoh4z50] callで呼び出せば良いんじゃない?
980 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/26(木) 19:40:54 ID:NcOYiIHC0] いや 先に実行したスクリプトが終わった判定はどうすればいいのかなと思いまして
981 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/26(木) 19:41:18 ID:NcOYiIHC0] ああ連続でやればいいんですね
982 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/27(金) 16:52:50 ID:fl1SuMSB0] >>975 FLASH,ActiveX,,JAVAappletなんかよりはよっぽど楽
983 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/28(土) 21:17:11 ID:hQtF23UU0] slctboxの戻値「slct_1」等は出力させると数字のみになるのはなぜなんでしょうか? select 〜selend文で caseのあとは"slct_"+数字でも数字のみ指定でも正しく動いているようですが
984 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/28(土) 23:33:07 ID:lrDMYjZcP] >>983 一般的に定数は何かしらの数値に割り当てられるのが普通です。 数値にしておくと演算子=,<>等の処理をそのまま流用できるから設計上楽なのです。 それならば文字列として"SLCT_1"として持たせたほうが分かりやすいのでは?とも考えられますが、 小さい情報量にしたほうがexeサイズが小さくて済んだり、計算量が少なくて済むなど メリットが大きいのです。 ただしSLCT_1が1と出力されるからといってバージョンアップ等で今後変更される可能性があるので 必ず比較する場合は 「IF ret=1 THEN・・・」ではなく 「IF ret=SLCT_1 THEN・・・」とすべきでしょう。
985 名前:983 mailto:sage [2009/03/01(日) 00:17:23 ID:re5Hkvhc0] なるほどためになりました サンクス
986 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/01(日) 08:13:50 ID:c3BdarSQ0] <img src="http://〜〜〜/Apos/img/web/10174/106711_1.gif"> リンクに使われている上記のような画像が複数あったとします。 ページ内にある全ての途中まで共通しているURLの画像をゲット してクリックすることはできますか? http://〜〜〜/Apos/img/web/10174ここまでが一緒で後は違うアドレスです。
987 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/01(日) 12:17:03 ID:jADlBu/J0] できますよ
988 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/01(日) 17:53:19 ID:b7uK3KHI0] // IEで表示中のページにリンクされているzipへのリンクを取得し、IEDownload()関数でダウンロードする。 while true data = IEGetData( IE, "TAG=A", i ) Src = IEGetSrc( IE, "A", i ) if !length(Src) then break Link = BetweenStr( Src, "href=<#DBL>", "<#DBL>" ) ifb "zip" = Copy( Link, Pos(".", Link, -1) + 1, Length(Link) - Pos(".", Link, -1) ) Then IE.navigate( Link ) IEDownload( IE ) break Endif i = i + 1 wend Function IEDownload( var IE ) Fend
989 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/01(日) 19:53:07 ID:c3BdarSQ0] >>987 死にうせろ2
990 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/01(日) 20:33:14 ID:q5FcoyWP0] >>989 簡単だよ 自分の頭蓋骨の中をたまには使えよ
991 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/01(日) 21:14:20 ID:b7uK3KHI0] data = IEGetData( IE, "TAG=A", i ) これってAタグならラベル部分、その他ではValueを取り出せるんだけど ラベルを指定してクリックするのがIELINK() この後に IELINK(data) って入れてもいいんだけど、ダウンロード用ページだと同じラベルでいっぱいファイルがある。 だからUWSCの関数では番号指定とかでもしないとクリックできない。 まあリンクは簡単に取り出せるからIE.Navigate()で開けばいいんだけど 「ファイルのダウンロード」窓がクリックできん・・・ ボタンが反応はしてるんだけどクリックできん。 CtrlWin()でアクティブにしてもアクティブにならない。 以前作ったときはちゃんと動いていたんだけどなあ・・・ 画像の保存とかページの保存とかならIEの子ウィンドウとして拾えるけど ダウンロードは親子関係がないっぽいし。 モーダルとモードレスで親子関係が違ってくるとかなのかな。 いや、つかんでもクリックできないんだよな。 親子両方クリックしたらアクティブになった。なんか裏のやつを子として処理してたのかな。 でもフォーカスが「保存」ボタンには移ってるんだけどなあ・・・ 名前をつけて保存ならクリックできるのに。 戦車で野球のボールを投げたら時速327キロか。
992 名前:名無しさん@お腹いっぱい。 [2009/03/02(月) 00:20:27 ID:OsLHIqg20] RecIE使ってみたけど、ダイアログのクリックは拾ってくれないな。 IELink(IE,"DL002") BusyWait(IE) 本体で記録してみたけど ACW(GETID("ファイルのダウンロード","#32770"),422,375,435,243,0) ScKey()はだめだったけどMouseOrg()で窓に直接Kbd()でならもしかしていけるかも。 だめだった。 しかし、MouseOrg()してKbd()してClkItem()したらいけた。 Kbd()でアクティブ化に成功してるんだろう。
993 名前:名無しさん@お腹いっぱい。 [2009/03/02(月) 11:20:51 ID:OsLHIqg20] 「この種類のファイルであれば常に警告する」のチェックを外せばそのままダウンロードが開始されるんだな・・・ 今までやらなかったけどもうこれが一番の解決法か・・・ と思ったけど保存ダイアログが出てこないと思ったら勝手に起動されちゃうんだな。 上書きの警告もないし、キャッシュにしか落ちてないんだろう。 これじゃダウンロードにならない。 URLToFileとかいうのが使えればいいんだけど今やってるところはパスワード制限かかっててアクセスエラーになるからできないし。 >MouseOrg()してKbd()してClkItem()したらいけた。 これについては親子両方に送ればうまくいったが、子だけに送ったらだめだった。 多分他の窓をクリックすることでアクティブ状態が切り替わってうまくいってたんだな。 トップレベルなのに非アクティブなあの状態は何とかならんのか・・・ もしかしたらあの二重の窓の二つ目が開く直前に裏の窓をクリックしてしまうのが問題なのかもしれん。 親窓の方拾ったらスルーして待つかな。
994 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/02(月) 12:25:41 ID:MGuj9EpHO] 他人が役立つ日記ならここで大歓迎 環境に依存した再利用性の低い独り言はブログにでも貼ったら?
995 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/02(月) 13:02:26 ID:pSlHrzIi0] 次スレたててこい>浪費したやつ
996 名前:名無しさん@お腹いっぱい。 [2009/03/02(月) 17:11:41 ID:OsLHIqg20] 【速報】 全鯖規制ISP一覧 VIPPERのせいですね、わかります tsushima.2ch.net/test/read.cgi/news/1235980269/ qb5.2ch.net/sec2chd/ なんか祭りになってたんでスレ立てしてみたんです。 ねws qb5.2ch.net/test/read.cgi/sec2chd/1235980128/ そしたら全サーバーで規制されました。
997 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/02(月) 19:50:06 ID:rP5khwz50] 自動化ツールuwsc使いよ集まれ4 pc11.2ch.net/test/read.cgi/software/1235990960/
998 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/02(月) 21:30:58 ID:9PDTuTrY0] おつおつ。
999 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/03(火) 02:16:28 ID:0ITm2xmn0] 999
1000 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/03(火) 02:27:23 ID:6utcIoKu0] んじゃ1000
1001 名前:1001 [Over 1000 Thread] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。