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/
2 名前:名無しさん@お腹いっぱい。 [2009/03/02(月) 20:05:26 ID:7l99ta7h0] >>1 公式サイトとかちゃんと訂正すればいいのに
3 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/02(月) 21:27:21 ID:9PDTuTrY0] Windowsを自動化させるツールUWSC。 www.uwsc.info/ uwsc使いのみなさま、マターリ己のスクリプトを晒しましょ。 前スレ 自動化ツールuwsc使いよ集まれ3 pc11.2ch.net/test/read.cgi/software/1176677869/ 同様の機能を持ったフリーソフト AutoIt www.autoitscript.com/autoit3/ WindowController chi.usamimi.info AutoHotkey www.autohotkey.com pc11.2ch.net/test/read.cgi/software/1157043396/ こんなかんじ?
4 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/03(火) 18:02:08 ID:/b8Pmjb40] >>前スレ986 ( pc11.2ch.net/test/read.cgi/software/1176677869/986 ) クリックだとページ変遷が発生しないか? a 要素の target 属性に _blank とか指定されてたら別だが // 親要素が a の img 要素で src 属性値に特定の文字列が含まれるものをすべてクリック // 変数 ie には対象の IE オブジェクトが代入されているものとする DIM str = "http://〜〜〜/Apos/img/web/10174" DIM imgelmlst = ie.Document.images DIM imgelm, elm, i FOR i=0 TO imgelmlst.length-1 imgelm = imgelmlst.item(i) elm = imgelm.parentElement IF elm.tagName <> "A" THEN CONTINUE IFB POS(str, imgelm.src) THEN imgelm.click() //navigate_new_window(elm.href) ENDIF NEXT FUNCTION navigate_new_window(uri, iswait=FALSE) DIM ie = CREATEOLEOBJ("InternetExplorer.Application") ie.Visible = TRUE ie.Navigate(uri) RESULT = ie IF !iswait THEN EXIT REPEAT SLEEP(0.1) UNTIL !ie.Busy AND (ie.ReadyState = 4) FEND
5 名前:名無しさん@お腹いっぱい。 [2009/03/03(火) 22:00:52 ID:Qzu1epvm0] zip暗号では不足な用途で暗号化させるとしたら AES256bit(無圧縮でも可)7-zip32.dll叩くのが一番簡単?
6 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/03(火) 22:30:36 ID:vm5EEjZv0] >>5 簡単の定義が人それぞれだと思うけど 復号化する時の汎用性とかを考えたら良い選択肢だと思うよ。 完成時にはソース見せてもらえると嬉しい
7 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/04(水) 08:36:31 ID:VY2/fRca0] シェアウェア化が痛すぎる…
8 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/04(水) 13:15:09 ID:gDPQebo/0] ?
9 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/04(水) 16:44:28 ID:LtMPuC430] IE = CreateOLEObj("InternetExplorer.Application") の行でたまに comエラーが出てしまいます 原因はなんでしょうか?
10 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/04(水) 22:44:16 ID:e9V9llDo0] 連想配列の値に配列って設定できないの? hashtbl 連想配列 dim 配列[] = "hoge", "piyo", "foo", "bar" 連想配列["キー"] = 配列 とか。連想配列["キー"][0] とかで値を取り出したいんだけど…。
11 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/04(水) 23:07:07 ID:ys2pcLW80] >10 気持ちは判るw 是非多次元連想配列の要望を出してくれ…
12 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/04(水) 23:10:55 ID:e9V9llDo0] できないのか…(´・ω・`)ざんねん
13 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/04(水) 23:26:39 ID:ys2pcLW80] うーん >11と書いてみたものの、データを直打ちで配列宣言する場合は殆どないから、 例えばTAB区切りデータの分解作業を入れる時に行うか、出した時に行うかくらい の違いだけのような気がしてきたw >12 ちょっとググッてみたらPerlにはあるみたいですね。
14 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/05(木) 03:06:53 ID:+SmhvS7q0] ScriptControlを使って、VBScriptで関数書いて呼び出したくなりますね
15 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/05(木) 12:37:12 ID:EaCn0e5y0] >>4 動作確認しました。m(_ _)m しかし、これできそうでできない・・・ ie.Document.imagesとかってヘルプとかに載ってないしみんなどこで 勉強してるんですか?本には、いくつかie.Document.○○みたい なのが載ってましたが。 2年ぐらいやってますが全然思ったとおりの動作ができない('A`)
16 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/05(木) 13:17:43 ID:DySh1P490] >>15 WEBの自動化は殆どやらないから詳しくはないけれど、一応、下の公式の過去ログはPickupしてあるよ。 ttp://www3.bigcosmic.com/board/s/board.cgi?id=umiumi&mode=all&no=1076&log=ON&cnt=9 ttp://www3.bigcosmic.com/board/s/board.cgi?id=umiumi&mode=all&no=1451&log=ON&cnt=13
17 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/05(木) 18:14:40 ID:ZQFae9PN0] >>15 >>4 を貼った者ですが、どこら辺でコけたんでしょうか? 所謂 IE オブジェクトのメソッドとプロパティは MSDN で IWebBrowser2 の項目から辿っています ドキュメントの構造は Fx の Firebug で見てます
18 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/05(木) 21:11:25 ID:1LWRbfue0] >>15 周りに頼りきりなのに、しにうせろ、と書くような傲慢さがいやだなぁ…
19 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/05(木) 21:21:42 ID:EaCn0e5y0] >>17 前回の画像ではなくアドレスを回っていくやつから似たようなことできると 思ってましたが、変数の宣言からして全く違いました。 例えば"A"というのありますが、そうゆう発想すらなかったです。 >>18 死にうせろは、人によりますよw明らかに答える意志もないのに 馬鹿にしたことを言った場合のみです。答えたくなければスルー すればいいのに。 今度このスレで「できますよ」が書き込まれたら「死にうせろ」と いう書き込みをするスクリプトを作ってほしいね。 えっ?また頼るのかって?w お願いしますm(_ _)m
20 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/06(金) 00:58:29 ID:+CVUN/Ag0] できますか? -> できます で、なにが不満なのかさっぱり分からない。 説明して欲しいなら、最初から出来ないので教えてくださいとでも書けばいい
21 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/06(金) 08:58:31 ID:759IdkdT0] >>19 とっとと しにうせやがれ
22 名前:名無しさん@お腹いっぱい。 [2009/03/07(土) 02:03:17 ID:Qe+EoY5dO] ケータイからカキコ。 ケータイで入力できんからメール経由だけどパソコン用とケータイ用のアドレスが違うんよね。 アドレスを変換してケータイに送信できたらいいんだけど。
23 名前:yyZEvxbNuOOjjO mailto:ymqrpdovfm@gmail.com [2009/03/07(土) 02:07:27 ID:4flKp1Lr0] www.esnips.com/user/womendating98 free movie ringtone hubpages.com/profile/bestringtone83 debt consolidation loan very www.soundclick.com/members/default.cfm?member=mp3ringtone60 dating for single
24 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/12(木) 17:58:51 ID:htMiytqb0] 質問です 2つのフレームになっているIEで2番目のフレームの文字列を取得したいのですが どのようにすればいいのでしょうか?
25 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/12(木) 20:10:02 ID:f2vfu1VH0] >>24 私は、フレームのアドレスを個別に表示させて対処しました。
26 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/12(木) 22:54:26 ID:2ac77gz80] 普通にframe呼べばいいんでない? IE.Document.Frames(0).Document.innerText IE.Document.Frames(1).Document.innerText
27 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/12(木) 22:57:31 ID:2ac77gz80] フレームが入れ子の時は IE.Document.frames(0).frames(0).document〜
28 名前:24 mailto:sage [2009/03/14(土) 00:06:29 ID:WW00fLfU0] >>25-27 thxです。>>26 の方法で試みましたが今のところうまくいってません。スクリプト自体が わかってないため仕方在りません。もう少し頑張ってみて突破口が見いだせなかったら また質問させていただきます。
29 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/14(土) 12:30:12 ID:v6fI1qaH0] すみません a.txtというのを開くにはどうしたらいいのでしょう exce でやっても開けません
30 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/14(土) 13:35:35 ID:nLOF2dl0P] execはあくまで「アプリケーションを実行する」のが目的なんです。 この場合の「開く」っていうのは 「テキストエディタを起動してその中でテキストファイルを表示させる」 っていう事になるので意味が違います。 普通、テキストエディタにファイル名をパラメータとして渡してあげるとそのテキストを開いてくれます。 ヘルプにはexecでパラメータをつけた場合の扱いは記述されていないのでDosCmdを使えば良さそうです。 詳細についてはヘルプでご確認ください。 ファイル名="<#DBL>C:\Users\youjo\Desktop\a.txt<#DBL>" ノートパッド="notepad" 秀丸="<#DBL>C:\Program Files\Hidemaru\Hidemaru.exe<#DBL>" DosCmd(ノートパッド + " " + ファイル名, TRUE) DosCmd(秀丸 + " " + ファイル名, TRUE)
31 名前:名無しさん@お腹いっぱい。 [2009/03/15(日) 14:15:45 ID:MJ0s+kkcO] 規制の為、携帯から失礼します。 色判定の事で質問させてください。 決まった色で判定する事はできるようになったのですが、処理のたびに微妙に色が変わってしまうため、だいたたい黄色っぽい という風に判定したいのですが、どうしても理解する事ができません。 もしよろしければご教授いただけないでしょうか?
32 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/15(日) 14:48:41 ID:KaKZ97Wt0] >>31 UBTrek (掲示板最下部) で peekcolor で検索すると沢山ヒットしました。サンプルも掲載されています。 1165 件中 / 20件 1128 バックグラウンド 1041 色判定の範囲 0951 ファイルの取得 0899 神経衰弱プログラム(トランプではなく絵) 0734 あ 0691 条件判断書式 0651 色判定 0645 多重定義回避 0598 非アクティブウィンドウに対してのキー操作 0379 範囲について。 0264 peekcolor関数 0184 Peekcolor 0100 peekcolor 0058 質問があります 0031 画面のプロパティー 0027 peekcolor 0026 ヘルプファイル添付のスクリプト 0024 UWSCのスクリプトについて 0011 最小化状態のウィンドウ 0003 select文で 検索でHitしたw しかしなんでPeekColorとかChkimgとか使いたがるんだろう? あくまで最終手段だと思うんだけど…
33 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/15(日) 17:58:58 ID:IZMSH5U20] そりゃおまえさん… 外部ツールとして使うためだよ。
34 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/15(日) 20:58:13 ID:Ml9cDsd/0] UBTrek使ってみたいんだけど、何を検索しても >0 件中 / 0件 ってなるんだけど。何かやり方が間違ってるのかな? 環境 ・Vista Business ・IE7 タブモード ・UWSC Ver4.5 ・画面遷移がログを取得せずに終わってるように見える ・アンチウィルスソフト切ってもだめ
35 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/15(日) 23:40:24 ID:KaKZ97Wt0] >>33 外部ツール? フル画面のゲームとかならともかく、普通の窓のあるアプリなら色、イメージで確実性が増すように 細工してる暇があったら他の方法探した方が早くて確実ってことを言いたかっただけなんだけど…
36 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/15(日) 23:45:08 ID:IZMSH5U20] >>35 ちょっと前にゲームの画像認識で話題になったんだよ。このツール。 もちろん、通信を解析して行動する方が確実だけど。 汎用性は高いと思うんだ、このツールは。
37 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/16(月) 00:00:27 ID:Qk5ZfeY50] uwscでエクセルを開いて指定のシートを開きたいのですがどうすればいいのでしょうか よろしくお願いします
38 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/16(月) 01:36:12 ID:BkAbLvKa0] >>36 ああ、ナルホド。そっち系の話ですか… 興味ないから判らんけど、それ用途ならAHKの方が向いてない?
39 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/16(月) 01:41:10 ID:BkAbLvKa0] >>37 ttp://t_shun.at.infoseek.co.jp/My_Page/Excel-VBA/vba_menu.htm
40 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/16(月) 09:45:22 ID:Qk5ZfeY50] >>39 ちょ それVBAw
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 アリガトー