1 名前:名無しさん@お腹いっぱい。 [2009/03/02(月) 19:49:20 ID:rP5khwz50] Windowsを自動化させるツールUWSC。 ttp://www.h7.dion.ne.jp/~umiumi/ uwsc使いのみなさま、マターリ己のスクリプトを晒しましょ。 前スレ 自動化ツールuwsc使いよ集まれ3 pc11.2ch.net/test/read.cgi/software/1176677869/
41 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/16(月) 11:37:57 ID:5PpK2M3mO] COM操作でVBAとの違いは無い ためしてみな
42 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/16(月) 21:16:43 ID:Qk5ZfeY50] fopen("D:\Mydocumment\abc.xls") で開かないんだけど何ででしょうか?
43 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/16(月) 21:31:30 ID:TqPC0VEm0] >>42 >>30 みたくExcelのパスとファイル名指定でいけるんじゃ?
44 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/16(月) 21:34:26 ID:TqPC0VEm0] Excel = CreateOLEObj("Excel.Application") // Excelの操作 Excel.Visible = True Excel.WorkBooks.Open(FileName :="C:\Documents and Settings\a\abc.xls", readOnly :=False) //エクセルファイルを開く
45 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/16(月) 21:36:13 ID:Qk5ZfeY50] ID:TqPC0VEm0 さん ありがとう 敷居が高いねuwscは ネットで調べても関数が全部乗ってなくて困る ヘルプは分けわかめだし
46 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/16(月) 21:38:49 ID:6Ib1sm5X0] RAPEAT関数で終わりのUNTILに表示画面のアドレスのあるなしで 判断しようとしてるのですが、うまくいきません。 UNTIL POS("URL ", IE.document.links[A].href) < 0 リンクのアドレスで判断しようとしたのが上ですが、どこが悪いのでしょうか?
47 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/16(月) 21:42:51 ID:TqPC0VEm0] >>45 Googleで「UWSC Excel エクセルファイルを開く」とかいう具合に「UWSC」をつけて検索すると結構でてくるよ
48 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/16(月) 22:32:48 ID:Qk5ZfeY50] 本買って勉強したらだいぶ理解できるようになった 本家にこの本の中身丸ごとコピっておいてくれれば・・・
49 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/16(月) 23:49:24 ID:TqPC0VEm0] はじめの一歩をやるときは本を買うのが手っ取り早いね はじめはなんていってもなにで検索したら応えに辿り着けるかもわかんないから
50 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/19(木) 15:38:36 ID:qhvpuXrj0] body = IEGetSrc(IE, "BODY") body = Copy(body, Pos("<SMALL>日付</SMALL>",body), 999999) // 取得開始位置 body = Copy(body, 1, Pos("</TBODY>",body)) // 取得終了位置 body = ChgMoj(body, "<B>", "") // 邪魔なタグ body = ChgMoj(body, "</B>", "") dim sdat[7] y = 0 While True for x = 1 to 7 // 列 sdat[x] = BetweenStr(body, "<SMALL>", "</SMALL>", y*7+x) if sdat[x] = EMPTY then break 2 next y = y + 1 XLSETDATA(Excel, sdat, "A"+y) // 行単位で設定 Wend これワケわかめ
51 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/19(木) 16:14:32 ID:78bA8AOX0] これの解説書って windowsマクロテクニックのことでしょうか? 他にもお勧めあったら教えていただきたい
52 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/20(金) 01:14:08 ID:2vqtVJvk0] 見たこともないからアレだけど、本を読むくらいならこれのヘルプのサンプルを 順にやって見た方が早い気がするなぁ。 ヘルプ、M$のヘルプなんかに比べて遥かに判りやすいと思うよ… それをやって感じが判れば、後は公式のログ調べればヤリタイことの類似のサンプルは豊富にあるし。
53 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/20(金) 01:44:56 ID:DsntF0Wn0] ちんぷんかんぷんなら本買った方がいいかもしれないよ
54 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/20(金) 20:43:31 ID:2bPMwjVn0] >>52 まぁ、、もともとの下地の量にも依るんだと思うよ。 ワードくらいでエクセルは家計簿しかつけたことがないとかだとヘルプは見ても分からない…
55 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/21(土) 18:57:36 ID:0gCxJ8aB0] 確かに、命令文を書いてそれを実行させるということをしたことがない人間には訳が分からないかもしれない。 CでもVBでも何でもいいが、まずはマニュアル本の手順通りやってみて体験することは重要だと思う。
56 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/21(土) 20:04:15 ID:RJeHjNlr0] >>54 そりゃそうだ。 Excelやったことあります。程度の人に いきなりVBAマクロ作れっていうようなもんだからな。 それなりに敷居が高いのはしょうがない
57 名前:横レス mailto:sage [2009/03/21(土) 21:23:13 ID:bilBjxKS0] >>56 スクリプト系なら余計な前提知識がないほうがかえってはやそう by 文字型と数値型どこ?だの実行効率どうとかコードの再利用だの今思うとどーでもいいことに迷ってた漏れ
58 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/22(日) 01:14:19 ID:Sv/Mv62F0] >>56 Excelのマクロを触ったことさえあれば、VBSに行くよりは敷居低いような… で、これからcom経由で間借りするのは比較的楽だったり…
59 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/22(日) 20:51:42 ID:t0gd/KIy0] >>57 コードをそのまま再利用しようなんてのは普通のプログラム言語にまかせて 違った利用方法には断片から再構成するのがスクリプト方式なんだよね
60 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/23(月) 19:29:22 ID:Cm/UBSMR0] >>59 めんどくさく書いたのに結局使いまわせなくて無意味だったりするんだよね だったら割り切って簡単さ優先のほうがいい なら構造化までで十分だしオブジェクト指向以降は邪魔なだけ
61 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/25(水) 18:56:29 ID:uoklUH0P0] 質問です。IEtoExcel.uwsなんですけど body = Copy(body, 1, Pos("</TBODY>",body)) // 取得終了位置 なぜこれで取得終了位置が決定できるのですか? 1文字目からPos("</TBODY>",body)文字目までってのがよくわからないのですが
62 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/25(水) 22:11:18 ID:VLYJF0HH0] >>61 そこだけ抜き出ても誰も即答できんよ… body = IEGetSrc(IE, "BODY") print body body = Copy(body, Pos("<SMALL>日付</SMALL>",body), 999999) // 取得開始位置 print body body = Copy(body, 1, Pos("</TBODY>",body)) // 取得終了位置 print body とログ取ってみれば理解できると思うけど?(自分ではやってみていないがw)
63 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/25(水) 22:18:25 ID:ykXGJViE0] >>61 Copyって関数とPosって関数の二つを使っているんだよ ■Copy コピー結果文字=Copy(コピー前文字, 開始位置, 終了位置) コピー前文字="ABCDE" 開始位置=2 終了位置=3 コピー結果文字="BC" ■Pos 位置を表す数=Pos(検索文字, 検索元の文字) 検索元の文字="ABCDE" 検索文字="D" 位置を表す数=4 つまり、bodyって変数の中にIEで取得したページの <TBODY>〜</TBODY>の<TBODY>以降「〜</TBODY>」が 入ってるから、末尾の</TBODY>までの「〜」部分を 取り出している
64 名前:名無しさん@お腹いっぱい。 [2009/03/27(金) 10:31:09 ID:AcxgdDaV0] Pro版でexe化したらAlt+F2で停止しなくなったんだけどこれ何?
65 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/27(金) 18:02:15 ID:GuzBvoGh0] 当たり前です。
66 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/27(金) 19:12:27 ID:lMvlwR450] 特定のボタン押したときに停止する命令入れない人って…
67 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/27(金) 19:46:58 ID:dvwsWJKV0] 全くのUWSC初心者なのですが、初めから丁寧に説明してくれてるサイトとかありますか? 自分でスクリプト作ってみたいと思ってます。
68 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/27(金) 20:12:35 ID:fVsO9M+W0] IEGETDATA/IESETDATAって対象フレーム指定できる? frameはやっぱりDocumentプロパティからがりがりいじるしかないの?
69 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/27(金) 20:33:28 ID:fVsO9M+W0] >>67 漏れ中級者(66みたいにわからないことはあり)ですけど uwscは仕様もヘルプも人間に優しいので ヘルプのスクリプト→スクリプト関数→ウインドウ関連→GETIDの最後の「例)」のリンク先に サンプルが大量にあるのを写して実行させればよいのでは? あとはトライ&エラーで大丈夫かと
70 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/27(金) 20:50:01 ID:dvwsWJKV0] >>69 レスありがとうございます。 一通り目を通してみますね。
71 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/28(土) 00:39:06 ID:CJN0OekI0] ページの表示待ちで質問があります。 IE = CREATEOLEOBJ("InternetExplorer.Application") IE.visible = True IE.navigate("http://○○○○○") REPEAT SLEEP(0.1) UNTIL !IE.busy AND IE.readystate=4 これがページの表示が終わるまでは待つスクリプトだと思うのですが ○○○○○の箇所が毎回ランダムに変わる場合 どのようにスクリプトを組めばいいのかわかりません。 数種類のアドレスだけなら○○○○○の場所に数種類分のアドレスを入れればいいのですが ランダム英数字なので、自作のスクリプトに、上のスクリプトを追加してたらキリがないのです。 ○○○○○の場所が変わってもアクティブなIEウィンドウの表示待ちをしてくれる便利なスクリプトは無いものでしょうか? 説明が下手で申し訳ありません。
72 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/28(土) 01:08:30 ID:imhwk0EW0] >>71 >UNTIL !IE.busy AND IE.readystate=4 ページ表示の完了を待つ部分はここだけ。 ランダムなURLを自動取得する部分を書かないと、同じことだけどな。
73 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/30(月) 14:11:23 ID:bJqod+xu0] IEの画像表示を切っているときでも、特定の画像だけ表示することはどうやれば実現できますか? 手動のIEだとコンテキストメニューで画像の表示をやればできますが、それを直接やる方法など。
74 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/31(火) 03:16:16 ID:uj3sv1g20] 2009/03/31 UWSC Ver4.5a、 Pro版と Free版をリリースしました。
75 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/31(火) 10:32:20 ID:gAjYRmVT0] DLLに配列が使えるようになったみたいだね
76 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/01(水) 19:38:02 ID:ORgiq0uE0] FOPEN("○○.○",F_READ or F_WRITE)でappendオープンとほぼ同等になるのか・・・ (前の部分も書き換えようと思えばできるから厳密に同じじゃないけど) 素直にF_APPENDフラグつけてほしい
77 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/01(水) 20:22:58 ID:LeFjj7N90] なんでorなんだろうな…そこはandだろ…
78 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/02(木) 01:27:10 ID:/AIiEOlh0] ぜんぜん
79 名前:名無しさん@お腹いっぱい。 [2009/04/04(土) 21:44:58 ID:/d+v7qoR0] IPアドレスをワンクリックで変えるために下記のスクリプトを書きましたが、ページの読 み込み完了まで待ってくれなくてどうもうまくいきません。どこが悪いのでしょうか? //CREATEOLEOBJで生成 IE = CREATEOLEOBJ("InternetExplorer.Application") //IE可視化 IE.visible = True //URLジャンプ IE.navigate("https://ctu.fletsnet.com/CtuC101/init.do") //ロード完了まで待つ REPEAT SLEEP(0.1) UNTIL !IE.busy AND IE.readystate = 4 id = GETID("CTU設定 - Windows Internet Explorer", "IEFrame", -1) CLKITEM(id, "ログイン", CLK_ACC) //ロード完了まで待つ REPEAT SLEEP(0.1) UNTIL !IE.busy AND IE.readystate = 4 CLKITEM(id, "切断", CLK_ACC) //ロード完了まで待つ REPEAT SLEEP(0.1) UNTIL !IE.busy AND IE.readystate = 4 CLKITEM(id, "接続", CLK_ACC)
80 名前:79 [2009/04/04(土) 21:49:47 ID:/d+v7qoR0] すみませんUWSC掲示板というものを見つけたので、そちらにも書かせていただきました
81 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/04(土) 22:31:42 ID:5o+P8JM70] >>79 スクリプト自体は別におかしくない サイトの作りでIE.busyとIE.readystateがうまく遷移しないんじゃない? テキトーにSLEEP(5)してみるとか
82 名前:79 [2009/04/05(日) 01:07:09 ID:506pPYQi0] >>81 UWSC掲示板にて有志の方に下記の記述を教えていただきまして、 実行したところまったく問題なく稼動するようになりました。 おそらくSLEEPでもうまくいくと思います。ありがとうございました。 WHILE !IE.busy AND IE.readystate = 4; sleep(0.05); WEND REPEAT; SLEEP(0.1); UNTIL !IE.busy AND IE.readystate = 4
83 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/08(水) 04:14:05 ID:/k0QiX7S0] 申し訳ないのですが質問させてください あるネットゲームで左クリックだけをおよそ10秒ごとにクリックさせておきたいのですが それ自体はできたのですが、これをウィンドウをアクティブにしない状態(いわゆる裏マクロ)でずっと動作させておくにはどうしたらいいでしょうか? ACW(GETID("ネットゲーム名","SFMainWindow"),0,0,1686,1077,0) while TRUE BTN(LEFT,CLICK,) sleep(10.6+random(0)) wend ACWが原因なのはわかったのですが、単純にそこを消せばいいだけという事は無いみたいで困っています、どうか宜しくお願いします
84 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/08(水) 04:55:25 ID:fwJAXoMx0] >>83 無理。 普通のWindowsアプリなら別の方法で裏で操作できるけど、 キー・マウス必須なゲームではそういうことはできない。 WindowsAPIでならやれなくもないかもしれないけど低レベルな操作ができるやつじゃないと無理。 ttp://scripts.web.fc2.com/VMware/ こんな感じで仮想マシンでゲームを動かし、その中でマクロすればずっと裏で動作する。 そのページで紹介してるのはホストからゲストを操作するやつで裏で動作するわけじゃないけど。 ちなみに、今のVMware Workstation6.5なら3D使うのは設定画面でチェック入れるだけ。 でも仮想はやっぱりグラフィックが重いから、少々非力でも別のパソコン用意したほうがいいけどね。
85 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/08(水) 05:15:36 ID:/k0QiX7S0] >84 三国志オンラインというネットゲーですと下のような感じで裏マクロにさせておく事ができたのですが コレの応用とかでなんとかできないのでしょうか? 77 :ネトゲ廃人@名無し[sage]:2008/03/30(日) 02:26:21 ID:??? ググってもヘルプ見てもわからない人用 裏マクロサンプル wnd_id = GETID("ここに実行させたいウィンドウ名") //ウィンドウ名の一部でもOK ifb wnd_id = -1 then MSGBOX("MMO名が起動していません") exitexit endif MOUSEORG(wnd_id, 2) while TRUE Kbd(VK_8,CLICK,3) //定期的に実行したいキーの指定、この場合8を押す。 sleep(36+random(15)) //ここの数字を変えると待機時間を変更できる。現在は36秒+15秒までランダム wend
86 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/08(水) 05:44:52 ID:fwJAXoMx0] >>85 アプリケーションに直接送るには対応してないのが多いんだよね。 多分DirectInputとかいうのつかってるやつには使えないんだと思う。 知らないけど。
87 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/10(金) 10:46:50 ID:PbtivxSj0] マクロ実行中に、キー操作などで、マクロを強制的にとめることは出来ますか?
88 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/10(金) 13:23:35 ID:BPKFh7I00] >>87 それくらいはヘルプ読んでくれ
89 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/13(月) 11:05:31 ID:wzr692Rz0] IEをタブブラウザとして使用していて、指定の複数のページを開くようにしたいのですが、 以下(次のレス)の記述だと、アドレス欄にアドレスを貼り付けるのに失敗して、空白タブのままになる場合がたまにあります。 新しいタブを開いてからアドレス欄にアドレスを貼り付けるまでのウェイト(28行目)を長くしても同じでした。 どのように記述すればそういった問題なくIEで複数のページが開けるでしょうか? 一番いいのは、シーケンス的な処理なしにIEにアドレス渡すだけってやり方なんですが……。 IEの「タブ ブラウズの設定」は以下のようにしてます。 ・「タブ ブラウズを有効にする」にチェック。 ・「新しいタブの作成時には常に新しいタブへ移動する」にチェック。 ・「クイック タブを有効にする」にチェック。 ・「現在のタブの隣に新しいタブを開く」にチェック。
90 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/13(月) 11:06:21 ID:wzr692Rz0] // IEの宣言(?) Ie = CREATEOLEOBJ( "InternetExplorer.Application") Ie.visible = TRUE // IEを起動する Ie.navigate( "www.yahoo.co.jp/ ") // IEのウィンドウIDを取得 IeId = GETID( "Internet Explorer") // IEのウィンドウを最大化する CTRLWIN( IeId, MAX) SLEEP( 1) // マウスカーソル退避 MMV( 1, 1) SLEEP( 1) DIM Address[3] Address[1] = "www.infoseek.co.jp/ " Address[2] = "www.google.co.jp/ " Address[3] = "www.goo.ne.jp/ "
91 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/13(月) 11:08:39 ID:wzr692Rz0] FOR i = 1 TO 3 // 新しいタブを開く SCKEY( IeId, VK_CONTROL, VK_T) SLEEP( 3) SENDSTR( IeId, Address[i], 2, TRUE, TRUE) SLEEP( 1) SCKEY( IeId, VK_RETURN) Ie_Wait( IeId) NEXT PROCEDURE Ie_Wait( Id) i = 0 j = 0 REPEAT SLEEP( 1) IFB GETSTR( Id, 1, STR_STATUS) = "ページが表示されました" i = i + 1 ELSE i = 0 ENDIF j = j + 1 UNTIL ( i >= 3) OR ( j >= 20) FEND
92 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/14(火) 00:17:40 ID:TCCc8Omk0] >Ie = CREATEOLEOBJ( "InternetExplorer.Application") ↑これには時間がかかるが、起動完了を待ってない。が、待つ必要もない。 >Ie.navigate( "www.yahoo.co.jp/ ") ↑これにも時間がかかるが、待ってない。 SLEEP()があるにはあるが、効果がまちまち > DIM Address[3] > Address[1] = "www.infoseek.co.jp/ " 配列を1から使っているが、UWSCの配列はこの場合0から3まで まあ >FOR i = 1 TO 3 0を飛ばして使ってるから問題はない >どのように記述すればそういった問題なくIEで複数のページが開けるでしょうか? SENDSTR() + SCKEY() でのページ移動をやめて Ie.navigate( "www.yahoo.co.jp/ ") を使えばいい。 ほぼ確実にできるようになる。 うまくいかない原因は多分 Ie_Wait( IeId) IEの操作ではよくある質問だけど、Navigateのあと待ちループをスルーすることがある。 キーEnter直後にはまだ前回の表示完了のメッセージが残ってるとか。 アドレスを入れる前にこのメッセージを消しておけば素通りはしなくなる。
93 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/14(火) 08:53:44 ID:i3CXPBbq0] ie上のFLASHでログインから作りこまれているサイトを操作したいのですが ヘルプと多少のググリではヒントが得られませんでした。 ご存知の型いらっしゃいましたらひんとぷりーずです
94 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/14(火) 09:23:50 ID:/l9xSbch0] >>93 シェアウェア版のuwscにflash操作のサンプルスクリプト付いてるから見てみるといいよ
95 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/14(火) 11:04:54 ID:i3CXPBbq0] >>94 速レス多謝れす
96 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/14(火) 19:18:25 ID:msqZMedl0] アクティブウインドウ内の相対座標で操作したいのですがうまくいきません。 それ用のコマンドでもありますか?
97 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/14(火) 20:01:48 ID:QZ5xehbb0] STOPFORM(FALSE)でストップ窓出さないスクリプト実行中に 他のスクリプト多重起動できる? ------- しかしかゆいところに手が届く言語仕様は本当に癒されるなぁ わざわざ家で他言語のわけわかんない仕様と格闘したくないっちゅーねん
98 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/14(火) 20:31:54 ID:/l9xSbch0] >>96 mouseorg
99 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/14(火) 20:35:32 ID:mW/kK8aF0] >>97 <UWSC.INI> NotMultiplex = スクリプト実行の多重起動を制限します (ファイルの関連付等からの実行) 0:制限なし、 1:一つのみ、 2:二つまで (数はUWSC本体も含む) -9:制限なし、 -1:一つのみ、 -2:二つまで (マイナス値を付けた場合には '多重起動禁止'のダイアログは出ません)
100 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/14(火) 20:48:45 ID:msqZMedl0] >>98 アリガトー
101 名前:89 mailto:sage [2009/04/14(火) 20:52:08 ID:jYCCUEGB0] >>92 回答ありがとうございます。 > Ie.navigate( "www.yahoo.co.jp/ ") を使えばいい。 > ほぼ確実にできるようになる。 これを単純に使用した場合、一番左のタブに指令が行くようなので 1番目のタブにyahoo 2番目のタブにinfoseek …… といったことができませんでした。 > アドレスを入れる前にこのメッセージを消しておけば素通りはしなくなる。 消せるのですか。 調べてみますが、また分からなかったら教えてください。
102 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/15(水) 05:34:31 ID:qgyfHlhE0] >>99 うん ずっとUWSC.INIにNotMultiplex = 0あったはずなのに多重起動できなかったから謎だった 今STOPFORM(TRUE)入りのスクリプト一回実行したら STOPFORM(FALSE)でストップ窓出さないスクリプト実行中にもちゃんと多重起動できるようになった 一体なんだったんだろう
103 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/15(水) 06:02:54 ID:HthVxZ2l0] >>101 新しいタブで開くならIE.navigate2の第2引数に次のどれかを指定すればいいらしい。 VBでは&H800だけど、UWSCでは$800と指定することに注意。 Const navOpenInNewTab = &H800 Const navOpenInBackgroundTab = &H1000 ttp://www.happy2-island.com/vbs/cafe02/capter00711.shtml 英語なので分からないけど Get Active Tab in IE7 ttp://social.msdn.microsoft.com/Forums/ja-JP/vbgeneral/thread/60c6c95d-377c-4bf4-860d-390840fce31c UWSC掲示板でIE7の話題 ttp://www.google.co.jp/search?hl=ja&q=site%3Abigcosmic.com+IE7 どうしても既存のタブに開きたいのなら、 キー送信でタブを切り替えつつ、タブごとにGetActiveOLEObj()を実行して それぞれのIEオブジェクトを取得すればいい。(多分できるんじゃないかな) IE1〜IE10のオブジェクトがあれば、たとえばIE5.navigate()で5つめのタブで開くとかできるでしょ。 IEオブジェクトは配列にすればスマートに書ける dim IE[10] IE[cnt] = GetActiveOLEObj() IE[cnt].navigate()
104 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/17(金) 09:08:00 ID:3eWeWjWG0] 同じIDの2つのウインドウに対してそれぞれ命令文実行するのはどうしたらいいんでしょう?
105 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/17(金) 09:16:25 ID:vJUVWnem0] ウィンドウ違ったらIDも違うだろ
106 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/17(金) 09:40:53 ID:3eWeWjWG0] GETIDしてもクラス名とか同じなんす・・・どこか見分ける方法あるんでしょうか?
107 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/17(金) 10:19:36 ID:7iQc6sCf0] だからIDだろ…おまえは何を言ってるんだ
108 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/17(金) 11:06:27 ID:3eWeWjWG0] 自分でも何が言いたいのかよくわからなくなりました・・・
109 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/17(金) 11:27:01 ID:z2t7NbQ10] GETIDを使いたくてもウィンドウ名とかクラス名が同じだから取得できないってことじゃないの
110 名前:横レス mailto:sage [2009/04/17(金) 16:01:13 ID:oV5BKBHw0] >>108 109だとしたら GETALLWIN( )で全ウィンドウのIDを読んでから必要なものだけ残す方向で
111 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/17(金) 19:51:44 ID:dPRHXoSq0] >>106 見分ける方法は表示されてるテキストとかボタンとかだな。
112 名前:名無しさん@お腹いっぱい。 [2009/04/18(土) 21:40:19 ID:XXPYfPCL0] 初心者の質問ですいませんがご教授ください。 [YES][NO]のメッセージボックスを順番に3つ出し、YESが2つ出た時点で "YESが2つ貯まったよ"というメッセージボックスを出しOKボタンでUWSを 終わらせたいのですが、どうもうまく文が書けません。 以下のように書いてみたのですが[関数が正しく閉じていません]となって しまいます。お願いします。 POINT = 0 IF MSGBOX("チェック1OK?",BTN_YES or BTN_NO) = BTN_YES then POINT = POINT + 1 IF MSGBOX("チェック2OK?",BTN_YES or BTN_NO) = BTN_YES then POINT = POINT + 1 IF POINT = 2 THEN MSGBOX("YESが2つ貯まったよ") AND EXITEXIT IF MSGBOX("チェック3OK?",BTN_YES or BTN_NO) = BTN_YES then POINT = POINT + 1 IF POINT = 2 THEN MSGBOX("YESが2つ貯まったよ") AND EXITEXIT
113 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/18(土) 21:42:10 ID:RzsxB0wk0] マルチステートメントをANDでつないでる人なんて初めて見たわ。 IFBにして行分けなきゃ駄目に決まってるじゃん
114 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/18(土) 21:53:58 ID:wfTm4mrd0] これはひどい
115 名前:名無しさん@お腹いっぱい。 [2009/04/18(土) 21:55:44 ID:XXPYfPCL0] >>113 ありがとうございました。 解決しました。
116 名前:104 mailto:sage [2009/04/19(日) 11:33:06 ID:cQ6R7vH10] 根本から勘違いしてるのかもしれないので質問させてください。 たとえば、新規に開いたメモ帳2窓だとGETALLWIN( )しても ウインドウIDもクラス名も両方とも「無題 - メモ帳」「notepad」で識別する方法無いですよね?
117 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/19(日) 11:45:06 ID:yPMpTKOZ0] >>116 >>105 同じIDのウインドウなんてありません。
118 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/19(日) 11:45:06 ID:kETpq9Eh0] いやだからウィンドウIDは違うよ
119 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/19(日) 11:57:47 ID:8Ti6dx9WP] >>116 手動で二つのウィンドウを区別する場合、あなたはどう判断しているの? 左右に並べて右側のウィンドウが知りたいならSTATUS関数を使って座標を比較すればいいんだし あなたは何をしたいんですか?
120 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/19(日) 12:03:17 ID:yPMpTKOZ0] >>116 もう一つ言うと、 > ウインドウIDもクラス名も両方とも「無題 - メモ帳」「notepad」で識別する方法無いですよね? ウインドウIDとクラス名と言ってるけど 「notepad」は、確かにクラス名だけど 「無題 - メモ帳」は、ウインドウIDじゃない。タイトルです あなたが言ってるのは、同姓同名で生年月日まで一緒の別人をどうやって区別するんですか? しかもその二人は、免許証番号や電話番号まで一緒なんです。って言ってるようなものです。
121 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/19(日) 14:08:17 ID:Me2htpU20] >>120 いや、同姓同名の同住所でも免許証番号とかは違うから。 一人二役でない限りは。 >>116 うん。だから区別できないよ。 だから自分でExecとかCreateOLEObjして自分用のを作るんだよ。
122 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/19(日) 15:40:48 ID:8Ti6dx9WP] えーそうかな? 単に「タイトル」「クラス名」「ID」の意味が分かってないだけだと思う。でないと >ウインドウIDもクラス名も両方とも「無題 - メモ帳」「notepad」で識別する方法無いですよね? が全く説明つかない。 俺の解釈は以下の通り。 //2個未保存のメモ帳があって、それぞれ「AAAA」「BBBB」と入力されている想定 //104時点での考え IDその1 = GETID("無題 - メモ帳", "notepad")//「AAAA」側のIDを取得したい IDその2 = GETID("無題 - メモ帳", "notepad")//「BBBB」側のIDを取得したい if IDその1 = IDその2 then MSGBOX("同じID") // だから104で「同じID」と言ってる //109-110の重要キーワード「GETALLWIN」を聞いた116時点での考え IDその1 = GETID("無題 - メモ帳", "notepad")//「AAAA」側のIDを取得したい GETALLWIN() //これを使えば同名、同クラスの別IDを参照できると勘違い IDその2 = GETID("無題 - メモ帳", "notepad")//「BBBB」側のIDを取得したい if IDその1 = IDその2 then MSGBOX("同じID") // だから116で「GETALLWIN( )しても」と言ってる //109-110が言ってた「GETALLWIN」の使い方 ウィンドウ数 = GETALLWIN() FOR I=1 TO ウィンドウ数 IFB STATUS(ALL_WIN_ID[I-1], ST_TITLE) = "無題 - メモ帳" THEN MSGBOX(GETSTR(ALL_WIN_ID[I-1], 1)) //「AAAA」「BBBB」が表示されるはず ENDIF NEXT
123 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/19(日) 22:15:44 ID:yPMpTKOZ0] >>121 だから、別人という前提が間違ってる。勘違いだと言ってるんでしょ ユニークに割り当てられているはずのものが同じならそれは別なものじゃなくて同じものなんだから
124 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/20(月) 03:19:17 ID:EnXtAM1m0] >>123 >>116 が言ってるのは別人という前提なんです。 >新規に開いたメモ帳2窓 これはメニューからメモ帳を2回クリックして2つ起動し、ウィンドウが2つある状態ということですよ。 2窓について ttp://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1111555451 それぞれちょっとずれたことを言ってますね。 IDは確かに一つの窓に一つで識別できるけど、 ID以外の方法で区別するのは難しいですよね。 >>104 はIDとは何なのか分かってないので、IDと言ってるのは無視して考えないと。 メモ帳のステータス置いときます。 ID 57 PARENT -1 PROCESS 5868 Handle 9635392 ICON 0 VISIBLE 1 ACTIVE 0 BUSY 0 TITLE 無題 - メモ帳 CLASS Notepad
125 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/20(月) 08:20:00 ID:cLKDMuVI0] >>123 は端折りすぎだけど、 同じ免許書番号の別人がいないように 同じウインドウIDの別ウインドウなんて存在しないんだから その前提が間違ってるってことだろ。 別ウインドウかどうかなんて画面で一目瞭然なんだから IDが同じってのが間違ってるってことは確定的に明らか
126 名前:名無しさん@お腹いっぱい。 [2009/04/20(月) 09:05:26 ID:lfFRPe8i0] 使い始めたのですがどうしても判らない点があるので教えて下さい。 WEB上でsubmitのボタンがdisabledを使用していて、一旦押すと しばらく表記文字がグレーになって押せません。 このenable/disableの状態を取得する方法はありませんでしょうか? 宜しくお願いします。
127 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/20(月) 10:01:29 ID:EnXtAM1m0] >>126 状態 = IE.document.all.ボタン名.disabled HTAていうの使いはじめてみたんだけど、これいいよ。 MS Office PremiumにMicrosoft Development Environment(MSE.EXE)てのがついてて、 HTMLコントロールのプロパティとかの一覧が出てくる。 最近の開発環境なら当たり前だけど、僕が持ってるのOffice2000だからそーとー前のなんだけど。 場所は"C:\Program Files\Microsoft Visual Studio\Common\IDE\IDE98\MSE.EXE" ・・・あれ?Officeの付録じゃなかったっけな・・・ WindowsのSystemフォルダと日時が同じだからXP Homeについてるのかな? あ、これ使う場合のファイルはHTMLファイルで、 CreateObjectする場合は別にプロパティ一覧とか出てこないけど。
128 名前:89 mailto:sage [2009/04/20(月) 14:54:07 ID:AwZv06Kt0] >>103 遅レスですが、以下で新しいタブで開きました。ありがとうございました。 Ie.navigate( Address, $800)
129 名前:127 [2009/04/21(火) 10:48:50 ID:CPJxMALFO] UWSCは当初ゲームの自動操縦のために使い始めたんだけど、 今はIEを操作することが多いんですよね。 IEの操縦ならHTAでっていうかHTML+VBScriptにすると、画面も使えちゃって便利です。 HTMLのスクリプトならJavaScriptじゃないとって思ってたけど、 UWSCでBasic系の記述に慣れてるのと、HTAで使うのはJavaScriptじゃなくてJScriptなので、 どうせならVBScriptを使ってWeb用とHTA用をはっきり分けたほうがいいかなということで VBScriptで行きました。 HTAで作ったツールの第一号をうpってるんで使ってみてください。 ていうかできればコレをダウンロードして、規制されてる僕たちのために代行やってください。 ttp://karimofu.org/dlp/mofu1_6055.zip.php 標準ZIP DLパス:siberia
130 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/21(火) 12:15:22 ID:zWBQpk48P] >>129 どう見てもウィルスです 本当にありがとうございました カスペルスキーインターネットセキュリティ 2009 アクセスが遮断されました 入力したURLのWebページを表示できません 入力したURL: karimofu.org/storage/Lr1tsrD6l6Qh 21be/mofu1_6055.zip このWebページはウイルスに感染しています 次のウイルスが見つかりました:Trojan-Downloader.JS.gen この情報が正しくないと考えられるときは、ご利用のサービスプロバイダーにご連絡ください 情報: Tue Apr 21 12:14:05 2009 カスペルスキーインターネットセキュリティ 2009
131 名前:名無しさん@お腹いっぱい。 [2009/04/21(火) 13:33:41 ID:CPJxMALFO] >>130 あなたのパソコンがウィルスに感染してるか、うp炉だ自体がウィルスだと判定されているんだと思います。 そもそもZip圧縮されたものがウィルスとして活動できるわけないでしょう。偽装ならともかく。 AVG ClamWin Eset eTrust McAfee MicroWorld Norman Sunbelt VirusBuster の4・20の最新パターンで検索して一つも引っかかりませんでしたよ。 www.filterbit.com/ 郵便補助ツール007.zip uploaded on 2009-04-21 04:13:23 AM UTC Scan Completed in 172 ms. Final Result NO VIRUSES DETECTED 郵便補助.hta uploaded on 2009-04-21 04:14:45 AM UTC Scan Completed in 6.344 secs. Final Result NO VIRUSES DETECTED sleep.vbs uploaded on 2009-04-21 04:15:21 AM UTC Scan Completed in 6.234 secs. Final Result NO VIRUSES DETECTED 同じものを別のとこに置いたから、こっち↓からのダウンロードを試してみてください。 scripts.web.fc2.com/scriptsup/yubin007.zip
132 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/21(火) 13:44:41 ID:ghaE4/Ws0] >>ID:CPJxMALFO DLする気になれないからウィルスかどうかは判らんが、HTAとJScriptの話題を続けるなら 他所でやってくれ。
133 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/21(火) 14:00:12 ID:KISr4rZl0] >>131 帰れカスが
134 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/21(火) 14:25:54 ID:zWBQpk48P] https://www.virustotal.com/jp/ にて>>129 と>>131 をチェックしました。 結果は以下の通りです。 https://www.virustotal.com/jp/analisis/64c72feb68f9b05ce73599509baf8187 皆さん注意してください。 >>131 が言っているのは全くの嘘、詐欺、デタラメです。 最近のウィルス対策ソフトは圧縮データをバックグラウンドで自動で解凍し、 中身に問題のあるファイルが含まれているかをチェックしています。 圧縮されている「郵便補助.hta」というファイルはウィルスです。 まだ対策が始まったばかりで未対応のウィルス対策ソフトもあります。 既に実行された方は www.kaspersky.co.jp/virusscanner にてウィルスがどこにあるかを調査し、手動で削除する必要があります。 (無料のため自動では削除されません) 皆様、くれぐれも実行などせぬように注意願います。
135 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/21(火) 15:44:40 ID:hCW2ez470] Trojan-Downloader.JS.gen でも何でもないけど HTTP_GETしてるスクリプトは誤判定されるんだろうな どっちにしろスレ違いだし、もうあきらめなー
136 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/21(火) 17:20:34 ID:EjoW6ZpV0] 落として検査してソース見たよ
137 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/21(火) 19:21:07 ID:hCW2ez470] 俺も見たよ 問題ないだろ 関数GetTextByURLだけ抜き出して>>134 でチェックすると引っかかる F-SecureとかKasperskyはあまりアテにならんってことだな
138 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/21(火) 23:19:31 ID:KISr4rZl0] 問題ないとかじゃなくてスレ違いだっつの
139 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/22(水) 17:32:54 ID:N45Vs4AF0] 初心者です 座標(X,Y)の色が黒で無いという文を作りたいです PEEKCOLOR(X,Y)= $181818 否定の ! はどのようにつければいいのでしょうか 試行錯誤してみましたが機能しませんでした
140 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/22(水) 19:50:11 ID:5189R7q50] <>
141 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/22(水) 21:33:39 ID:5EWcb3vi0] 思うんだが181818だけが黒じゃないよね?