自動化ツールuwsc使い ..
[2ch|▼Menu]
39:名無しさん@お腹いっぱい。
09/03/16 01:41:10 BkAbLvKa0
>>37
URLリンク(t_shun.at.infoseek.co.jp)

40:名無しさん@お腹いっぱい。
09/03/16 09:45:22 Qk5ZfeY50
>>39
ちょ それVBAw

41:名無しさん@お腹いっぱい。
09/03/16 11:37:57 5PpK2M3mO
COM操作でVBAとの違いは無い
ためしてみな

42:名無しさん@お腹いっぱい。
09/03/16 21:16:43 Qk5ZfeY50
fopen("D:\Mydocumment\abc.xls")
で開かないんだけど何ででしょうか?

43:名無しさん@お腹いっぱい。
09/03/16 21:31:30 TqPC0VEm0
>>42
>>30みたくExcelのパスとファイル名指定でいけるんじゃ?

44:名無しさん@お腹いっぱい。
09/03/16 21:34:26 TqPC0VEm0
Excel = CreateOLEObj("Excel.Application") // Excelの操作
Excel.Visible = True
Excel.WorkBooks.Open(FileName :="C:\Documents and Settings\a\abc.xls", readOnly :=False) //エクセルファイルを開く

45:名無しさん@お腹いっぱい。
09/03/16 21:36:13 Qk5ZfeY50
ID:TqPC0VEm0 さん ありがとう
敷居が高いねuwscは ネットで調べても関数が全部乗ってなくて困る
ヘルプは分けわかめだし

46:名無しさん@お腹いっぱい。
09/03/16 21:38:49 6Ib1sm5X0
RAPEAT関数で終わりのUNTILに表示画面のアドレスのあるなしで
判断しようとしてるのですが、うまくいきません。

UNTIL POS("URLリンク(URL)", IE.document.links[A].href) < 0

リンクのアドレスで判断しようとしたのが上ですが、どこが悪いのでしょうか?

47:名無しさん@お腹いっぱい。
09/03/16 21:42:51 TqPC0VEm0
>>45
Googleで「UWSC Excel エクセルファイルを開く」とかいう具合に「UWSC」をつけて検索すると結構でてくるよ

48:名無しさん@お腹いっぱい。
09/03/16 22:32:48 Qk5ZfeY50
本買って勉強したらだいぶ理解できるようになった
本家にこの本の中身丸ごとコピっておいてくれれば・・・

49:名無しさん@お腹いっぱい。
09/03/16 23:49:24 TqPC0VEm0
はじめの一歩をやるときは本を買うのが手っ取り早いね
はじめはなんていってもなにで検索したら応えに辿り着けるかもわかんないから

50:名無しさん@お腹いっぱい。
09/03/19 15:38:36 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:名無しさん@お腹いっぱい。
09/03/19 16:14:32 78bA8AOX0
これの解説書って
windowsマクロテクニックのことでしょうか?
他にもお勧めあったら教えていただきたい

52:名無しさん@お腹いっぱい。
09/03/20 01:14:08 2vqtVJvk0
見たこともないからアレだけど、本を読むくらいならこれのヘルプのサンプルを
順にやって見た方が早い気がするなぁ。
ヘルプ、M$のヘルプなんかに比べて遥かに判りやすいと思うよ…
それをやって感じが判れば、後は公式のログ調べればヤリタイことの類似のサンプルは豊富にあるし。

53:名無しさん@お腹いっぱい。
09/03/20 01:44:56 DsntF0Wn0
ちんぷんかんぷんなら本買った方がいいかもしれないよ

54:名無しさん@お腹いっぱい。
09/03/20 20:43:31 2bPMwjVn0
>>52
まぁ、、もともとの下地の量にも依るんだと思うよ。
ワードくらいでエクセルは家計簿しかつけたことがないとかだとヘルプは見ても分からない…

55:名無しさん@お腹いっぱい。
09/03/21 18:57:36 0gCxJ8aB0
確かに、命令文を書いてそれを実行させるということをしたことがない人間には訳が分からないかもしれない。
CでもVBでも何でもいいが、まずはマニュアル本の手順通りやってみて体験することは重要だと思う。

56:名無しさん@お腹いっぱい。
09/03/21 20:04:15 RJeHjNlr0
>>54
そりゃそうだ。
Excelやったことあります。程度の人に
いきなりVBAマクロ作れっていうようなもんだからな。

それなりに敷居が高いのはしょうがない

57:横レス
09/03/21 21:23:13 bilBjxKS0
>>56
スクリプト系なら余計な前提知識がないほうがかえってはやそう

by 文字型と数値型どこ?だの実行効率どうとかコードの再利用だの今思うとどーでもいいことに迷ってた漏れ

58:名無しさん@お腹いっぱい。
09/03/22 01:14:19 Sv/Mv62F0
>>56
Excelのマクロを触ったことさえあれば、VBSに行くよりは敷居低いような…
で、これからcom経由で間借りするのは比較的楽だったり…

59:名無しさん@お腹いっぱい。
09/03/22 20:51:42 t0gd/KIy0
>>57
コードをそのまま再利用しようなんてのは普通のプログラム言語にまかせて
違った利用方法には断片から再構成するのがスクリプト方式なんだよね

60:名無しさん@お腹いっぱい。
09/03/23 19:29:22 Cm/UBSMR0
>>59
めんどくさく書いたのに結局使いまわせなくて無意味だったりするんだよね

だったら割り切って簡単さ優先のほうがいい
なら構造化までで十分だしオブジェクト指向以降は邪魔なだけ

61:名無しさん@お腹いっぱい。
09/03/25 18:56:29 uoklUH0P0
質問です。IEtoExcel.uwsなんですけど
body = Copy(body, 1, Pos("</TBODY>",body)) // 取得終了位置
なぜこれで取得終了位置が決定できるのですか?

1文字目からPos("</TBODY>",body)文字目までってのがよくわからないのですが

62:名無しさん@お腹いっぱい。
09/03/25 22:11:18 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:名無しさん@お腹いっぱい。
09/03/25 22:18:25 ykXGJViE0
>>61
Copyって関数とPosって関数の二つを使っているんだよ

■Copy
コピー結果文字=Copy(コピー前文字, 開始位置, 終了位置)

コピー前文字="ABCDE"
開始位置=2
終了位置=3
コピー結果文字="BC"


■Pos
位置を表す数=Pos(検索文字, 検索元の文字)

検索元の文字="ABCDE"
検索文字="D"
位置を表す数=4


つまり、bodyって変数の中にIEで取得したページの
<TBODY>〜</TBODY>の<TBODY>以降「〜</TBODY>」が
入ってるから、末尾の</TBODY>までの「〜」部分を
取り出している

64:名無しさん@お腹いっぱい。
09/03/27 10:31:09 AcxgdDaV0
Pro版でexe化したらAlt+F2で停止しなくなったんだけどこれ何?

65:名無しさん@お腹いっぱい。
09/03/27 18:02:15 GuzBvoGh0
当たり前です。


66:名無しさん@お腹いっぱい。
09/03/27 19:12:27 lMvlwR450
特定のボタン押したときに停止する命令入れない人って…

67:名無しさん@お腹いっぱい。
09/03/27 19:46:58 dvwsWJKV0
全くのUWSC初心者なのですが、初めから丁寧に説明してくれてるサイトとかありますか?
自分でスクリプト作ってみたいと思ってます。

68:名無しさん@お腹いっぱい。
09/03/27 20:12:35 fVsO9M+W0
IEGETDATA/IESETDATAって対象フレーム指定できる?

frameはやっぱりDocumentプロパティからがりがりいじるしかないの?

69:名無しさん@お腹いっぱい。
09/03/27 20:33:28 fVsO9M+W0
>>67
漏れ中級者(66みたいにわからないことはあり)ですけど
uwscは仕様もヘルプも人間に優しいので
ヘルプのスクリプト→スクリプト関数→ウインドウ関連→GETIDの最後の「例)」のリンク先に
サンプルが大量にあるのを写して実行させればよいのでは?
あとはトライ&エラーで大丈夫かと

70:名無しさん@お腹いっぱい。
09/03/27 20:50:01 dvwsWJKV0
>>69
レスありがとうございます。
一通り目を通してみますね。

71:名無しさん@お腹いっぱい。
09/03/28 00:39:06 CJN0OekI0
ページの表示待ちで質問があります。

IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.visible = True
IE.navigate("http://○○○○○")
REPEAT
SLEEP(0.1)
UNTIL !IE.busy AND IE.readystate=4

これがページの表示が終わるまでは待つスクリプトだと思うのですが
○○○○○の箇所が毎回ランダムに変わる場合
どのようにスクリプトを組めばいいのかわかりません。

数種類のアドレスだけなら○○○○○の場所に数種類分のアドレスを入れればいいのですが
ランダム英数字なので、自作のスクリプトに、上のスクリプトを追加してたらキリがないのです。
○○○○○の場所が変わってもアクティブなIEウィンドウの表示待ちをしてくれる便利なスクリプトは無いものでしょうか?

説明が下手で申し訳ありません。










72:名無しさん@お腹いっぱい。
09/03/28 01:08:30 imhwk0EW0
>>71
>UNTIL !IE.busy AND IE.readystate=4
ページ表示の完了を待つ部分はここだけ。

ランダムなURLを自動取得する部分を書かないと、同じことだけどな。

73:名無しさん@お腹いっぱい。
09/03/30 14:11:23 bJqod+xu0
IEの画像表示を切っているときでも、特定の画像だけ表示することはどうやれば実現できますか?
手動のIEだとコンテキストメニューで画像の表示をやればできますが、それを直接やる方法など。

74:名無しさん@お腹いっぱい。
09/03/31 03:16:16 uj3sv1g20
2009/03/31 UWSC Ver4.5a、 Pro版と Free版をリリースしました。

75:名無しさん@お腹いっぱい。
09/03/31 10:32:20 gAjYRmVT0
DLLに配列が使えるようになったみたいだね

76:名無しさん@お腹いっぱい。
09/04/01 19:38:02 ORgiq0uE0
FOPEN("○○.○",F_READ or F_WRITE)でappendオープンとほぼ同等になるのか・・・
(前の部分も書き換えようと思えばできるから厳密に同じじゃないけど)

素直にF_APPENDフラグつけてほしい

77:名無しさん@お腹いっぱい。
09/04/01 20:22:58 LeFjj7N90
なんでorなんだろうな…そこはandだろ…

78:名無しさん@お腹いっぱい。
09/04/02 01:27:10 /AIiEOlh0
ぜんぜん

79:名無しさん@お腹いっぱい。
09/04/04 21:44:58 /d+v7qoR0
IPアドレスをワンクリックで変えるために下記のスクリプトを書きましたが、ページの読
み込み完了まで待ってくれなくてどうもうまくいきません。どこが悪いのでしょうか?


//CREATEOLEOBJで生成
IE = CREATEOLEOBJ("InternetExplorer.Application")
//IE可視化
IE.visible = True
//URLジャンプ
IE.navigate("URLリンク(ctu.fletsnet.com)")
//ロード完了まで待つ
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
09/04/04 21:49:47 /d+v7qoR0
すみませんUWSC掲示板というものを見つけたので、そちらにも書かせていただきました

81:名無しさん@お腹いっぱい。
09/04/04 22:31:42 5o+P8JM70
>>79スクリプト自体は別におかしくない
サイトの作りでIE.busyとIE.readystateがうまく遷移しないんじゃない?
テキトーにSLEEP(5)してみるとか

82:79
09/04/05 01:07:09 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:名無しさん@お腹いっぱい。
09/04/08 04:14:05 /k0QiX7S0
申し訳ないのですが質問させてください
あるネットゲームで左クリックだけをおよそ10秒ごとにクリックさせておきたいのですが
それ自体はできたのですが、これをウィンドウをアクティブにしない状態(いわゆる裏マクロ)でずっと動作させておくにはどうしたらいいでしょうか?

ACW(GETID("ネットゲーム名","SFMainWindow"),0,0,1686,1077,0)
while TRUE
BTN(LEFT,CLICK,)
sleep(10.6+random(0))
wend

ACWが原因なのはわかったのですが、単純にそこを消せばいいだけという事は無いみたいで困っています、どうか宜しくお願いします

84:名無しさん@お腹いっぱい。
09/04/08 04:55:25 fwJAXoMx0
>>83
無理。
普通のWindowsアプリなら別の方法で裏で操作できるけど、
キー・マウス必須なゲームではそういうことはできない。
WindowsAPIでならやれなくもないかもしれないけど低レベルな操作ができるやつじゃないと無理。

URLリンク(scripts.web.fc2.com)
こんな感じで仮想マシンでゲームを動かし、その中でマクロすればずっと裏で動作する。
そのページで紹介してるのはホストからゲストを操作するやつで裏で動作するわけじゃないけど。
ちなみに、今のVMware Workstation6.5なら3D使うのは設定画面でチェック入れるだけ。

でも仮想はやっぱりグラフィックが重いから、少々非力でも別のパソコン用意したほうがいいけどね。


85:名無しさん@お腹いっぱい。
09/04/08 05:15:36 /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:名無しさん@お腹いっぱい。
09/04/08 05:44:52 fwJAXoMx0
>>85
アプリケーションに直接送るには対応してないのが多いんだよね。
多分DirectInputとかいうのつかってるやつには使えないんだと思う。
知らないけど。


87:名無しさん@お腹いっぱい。
09/04/10 10:46:50 PbtivxSj0
マクロ実行中に、キー操作などで、マクロを強制的にとめることは出来ますか?


88:名無しさん@お腹いっぱい。
09/04/10 13:23:35 BPKFh7I00
>>87
それくらいはヘルプ読んでくれ

89:名無しさん@お腹いっぱい。
09/04/13 11:05:31 wzr692Rz0
IEをタブブラウザとして使用していて、指定の複数のページを開くようにしたいのですが、
以下(次のレス)の記述だと、アドレス欄にアドレスを貼り付けるのに失敗して、空白タブのままになる場合がたまにあります。
新しいタブを開いてからアドレス欄にアドレスを貼り付けるまでのウェイト(28行目)を長くしても同じでした。

どのように記述すればそういった問題なくIEで複数のページが開けるでしょうか?
一番いいのは、シーケンス的な処理なしにIEにアドレス渡すだけってやり方なんですが……。

IEの「タブ ブラウズの設定」は以下のようにしてます。
・「タブ ブラウズを有効にする」にチェック。
・「新しいタブの作成時には常に新しいタブへ移動する」にチェック。
・「クイック タブを有効にする」にチェック。
・「現在のタブの隣に新しいタブを開く」にチェック。

90:名無しさん@お腹いっぱい。
09/04/13 11:06:21 wzr692Rz0
// IEの宣言(?)
Ie = CREATEOLEOBJ( "InternetExplorer.Application")
Ie.visible = TRUE

// IEを起動する
Ie.navigate( "URLリンク(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] = "URLリンク(www.infoseek.co.jp)"
Address[2] = "URLリンク(www.google.co.jp)"
Address[3] = "URLリンク(www.goo.ne.jp)"


91:名無しさん@お腹いっぱい。
09/04/13 11:08:39 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:名無しさん@お腹いっぱい。
09/04/14 00:17:40 TCCc8Omk0
>Ie = CREATEOLEOBJ( "InternetExplorer.Application")
↑これには時間がかかるが、起動完了を待ってない。が、待つ必要もない。

>Ie.navigate( "URLリンク(www.yahoo.co.jp)")
↑これにも時間がかかるが、待ってない。
SLEEP()があるにはあるが、効果がまちまち

> DIM Address[3]
> Address[1] = "URLリンク(www.infoseek.co.jp)"
配列を1から使っているが、UWSCの配列はこの場合0から3まで
まあ
>FOR i = 1 TO 3
0を飛ばして使ってるから問題はない

>どのように記述すればそういった問題なくIEで複数のページが開けるでしょうか?
SENDSTR() + SCKEY() でのページ移動をやめて
Ie.navigate( "URLリンク(www.yahoo.co.jp)") を使えばいい。
ほぼ確実にできるようになる。

うまくいかない原因は多分 Ie_Wait( IeId)
IEの操作ではよくある質問だけど、Navigateのあと待ちループをスルーすることがある。
キーEnter直後にはまだ前回の表示完了のメッセージが残ってるとか。
アドレスを入れる前にこのメッセージを消しておけば素通りはしなくなる。


93:名無しさん@お腹いっぱい。
09/04/14 08:53:44 i3CXPBbq0
ie上のFLASHでログインから作りこまれているサイトを操作したいのですが
ヘルプと多少のググリではヒントが得られませんでした。
ご存知の型いらっしゃいましたらひんとぷりーずです

94:名無しさん@お腹いっぱい。
09/04/14 09:23:50 /l9xSbch0
>>93
シェアウェア版のuwscにflash操作のサンプルスクリプト付いてるから見てみるといいよ

95:名無しさん@お腹いっぱい。
09/04/14 11:04:54 i3CXPBbq0
>>94
速レス多謝れす

96:名無しさん@お腹いっぱい。
09/04/14 19:18:25 msqZMedl0
アクティブウインドウ内の相対座標で操作したいのですがうまくいきません。
それ用のコマンドでもありますか?

97:名無しさん@お腹いっぱい。
09/04/14 20:01:48 QZ5xehbb0
STOPFORM(FALSE)でストップ窓出さないスクリプト実行中に
他のスクリプト多重起動できる?



-------
しかしかゆいところに手が届く言語仕様は本当に癒されるなぁ
わざわざ家で他言語のわけわかんない仕様と格闘したくないっちゅーねん

98:名無しさん@お腹いっぱい。
09/04/14 20:31:54 /l9xSbch0
>>96
mouseorg

99:名無しさん@お腹いっぱい。
09/04/14 20:35:32 mW/kK8aF0
>>97
<UWSC.INI>
NotMultiplex = スクリプト実行の多重起動を制限します (ファイルの関連付等からの実行)
0:制限なし、 1:一つのみ、 2:二つまで (数はUWSC本体も含む)
-9:制限なし、 -1:一つのみ、 -2:二つまで (マイナス値を付けた場合には '多重起動禁止'のダイアログは出ません)


100:名無しさん@お腹いっぱい。
09/04/14 20:48:45 msqZMedl0
>>98
アリガトー

101:89
09/04/14 20:52:08 jYCCUEGB0
>>92
回答ありがとうございます。

> Ie.navigate( "URLリンク(www.yahoo.co.jp)") を使えばいい。
> ほぼ確実にできるようになる。

これを単純に使用した場合、一番左のタブに指令が行くようなので
1番目のタブにyahoo
2番目のタブにinfoseek
……
といったことができませんでした。

> アドレスを入れる前にこのメッセージを消しておけば素通りはしなくなる。

消せるのですか。
調べてみますが、また分からなかったら教えてください。

102:名無しさん@お腹いっぱい。
09/04/15 05:34:31 qgyfHlhE0
>>99うん
ずっとUWSC.INIにNotMultiplex = 0あったはずなのに多重起動できなかったから謎だった
今STOPFORM(TRUE)入りのスクリプト一回実行したら
STOPFORM(FALSE)でストップ窓出さないスクリプト実行中にもちゃんと多重起動できるようになった
一体なんだったんだろう

103:名無しさん@お腹いっぱい。
09/04/15 06:02:54 HthVxZ2l0
>>101
新しいタブで開くならIE.navigate2の第2引数に次のどれかを指定すればいいらしい。
VBでは&H800だけど、UWSCでは$800と指定することに注意。
Const navOpenInNewTab = &H800
Const navOpenInBackgroundTab = &H1000
URLリンク(www.happy2-island.com)

英語なので分からないけど
Get Active Tab in IE7
URLリンク(social.msdn.microsoft.com)

UWSC掲示板でIE7の話題
URLリンク(www.google.co.jp)


どうしても既存のタブに開きたいのなら、
キー送信でタブを切り替えつつ、タブごとにGetActiveOLEObj()を実行して
それぞれのIEオブジェクトを取得すればいい。(多分できるんじゃないかな)
IE1〜IE10のオブジェクトがあれば、たとえばIE5.navigate()で5つめのタブで開くとかできるでしょ。

IEオブジェクトは配列にすればスマートに書ける
dim IE[10]
IE[cnt] = GetActiveOLEObj()
IE[cnt].navigate()


104:名無しさん@お腹いっぱい。
09/04/17 09:08:00 3eWeWjWG0
同じIDの2つのウインドウに対してそれぞれ命令文実行するのはどうしたらいいんでしょう?

105:名無しさん@お腹いっぱい。
09/04/17 09:16:25 vJUVWnem0
ウィンドウ違ったらIDも違うだろ

106:名無しさん@お腹いっぱい。
09/04/17 09:40:53 3eWeWjWG0
GETIDしてもクラス名とか同じなんす・・・どこか見分ける方法あるんでしょうか?

107:名無しさん@お腹いっぱい。
09/04/17 10:19:36 7iQc6sCf0
だからIDだろ…おまえは何を言ってるんだ

108:名無しさん@お腹いっぱい。
09/04/17 11:06:27 3eWeWjWG0
自分でも何が言いたいのかよくわからなくなりました・・・

109:名無しさん@お腹いっぱい。
09/04/17 11:27:01 z2t7NbQ10
GETIDを使いたくてもウィンドウ名とかクラス名が同じだから取得できないってことじゃないの

110:横レス
09/04/17 16:01:13 oV5BKBHw0
>>108
109だとしたら
GETALLWIN( )で全ウィンドウのIDを読んでから必要なものだけ残す方向で

111:名無しさん@お腹いっぱい。
09/04/17 19:51:44 dPRHXoSq0
>>106
見分ける方法は表示されてるテキストとかボタンとかだな。


112:名無しさん@お腹いっぱい。
09/04/18 21:40:19 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:名無しさん@お腹いっぱい。
09/04/18 21:42:10 RzsxB0wk0
マルチステートメントをANDでつないでる人なんて初めて見たわ。
IFBにして行分けなきゃ駄目に決まってるじゃん

114:名無しさん@お腹いっぱい。
09/04/18 21:53:58 wfTm4mrd0
これはひどい

115:名無しさん@お腹いっぱい。
09/04/18 21:55:44 XXPYfPCL0
>>113
ありがとうございました。
解決しました。

116:104
09/04/19 11:33:06 cQ6R7vH10
根本から勘違いしてるのかもしれないので質問させてください。

たとえば、新規に開いたメモ帳2窓だとGETALLWIN( )しても
ウインドウIDもクラス名も両方とも「無題 - メモ帳」「notepad」で識別する方法無いですよね?

117:名無しさん@お腹いっぱい。
09/04/19 11:45:06 yPMpTKOZ0
>>116
>>105
同じIDのウインドウなんてありません。

118:名無しさん@お腹いっぱい。
09/04/19 11:45:06 kETpq9Eh0
いやだからウィンドウIDは違うよ

119:名無しさん@お腹いっぱい。
09/04/19 11:57:47 8Ti6dx9WP
>>116
手動で二つのウィンドウを区別する場合、あなたはどう判断しているの?
左右に並べて右側のウィンドウが知りたいならSTATUS関数を使って座標を比較すればいいんだし

あなたは何をしたいんですか?

120:名無しさん@お腹いっぱい。
09/04/19 12:03:17 yPMpTKOZ0
>>116
もう一つ言うと、
> ウインドウIDもクラス名も両方とも「無題 - メモ帳」「notepad」で識別する方法無いですよね?
ウインドウIDとクラス名と言ってるけど
「notepad」は、確かにクラス名だけど
「無題 - メモ帳」は、ウインドウIDじゃない。タイトルです

あなたが言ってるのは、同姓同名で生年月日まで一緒の別人をどうやって区別するんですか?
しかもその二人は、免許証番号や電話番号まで一緒なんです。って言ってるようなものです。


121:名無しさん@お腹いっぱい。
09/04/19 14:08:17 Me2htpU20
>>120
いや、同姓同名の同住所でも免許証番号とかは違うから。
一人二役でない限りは。

>>116
うん。だから区別できないよ。
だから自分でExecとかCreateOLEObjして自分用のを作るんだよ。


122:名無しさん@お腹いっぱい。
09/04/19 15:40:48 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:名無しさん@お腹いっぱい。
09/04/19 22:15:44 yPMpTKOZ0
>>121
だから、別人という前提が間違ってる。勘違いだと言ってるんでしょ
ユニークに割り当てられているはずのものが同じならそれは別なものじゃなくて同じものなんだから

124:名無しさん@お腹いっぱい。
09/04/20 03:19:17 EnXtAM1m0
>>123

>>116が言ってるのは別人という前提なんです。
>新規に開いたメモ帳2窓
これはメニューからメモ帳を2回クリックして2つ起動し、ウィンドウが2つある状態ということですよ。

2窓について
URLリンク(detail.chiebukuro.yahoo.co.jp)

それぞれちょっとずれたことを言ってますね。
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:名無しさん@お腹いっぱい。
09/04/20 08:20:00 cLKDMuVI0
>>123は端折りすぎだけど、
同じ免許書番号の別人がいないように
同じウインドウIDの別ウインドウなんて存在しないんだから
その前提が間違ってるってことだろ。

別ウインドウかどうかなんて画面で一目瞭然なんだから
IDが同じってのが間違ってるってことは確定的に明らか

126:名無しさん@お腹いっぱい。
09/04/20 09:05:26 lfFRPe8i0
使い始めたのですがどうしても判らない点があるので教えて下さい。
WEB上でsubmitのボタンがdisabledを使用していて、一旦押すと
しばらく表記文字がグレーになって押せません。
このenable/disableの状態を取得する方法はありませんでしょうか?
宜しくお願いします。


127:名無しさん@お腹いっぱい。
09/04/20 10:01:29 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
09/04/20 14:54:07 AwZv06Kt0
>>103
遅レスですが、以下で新しいタブで開きました。ありがとうございました。

Ie.navigate( Address, $800)

129:127
09/04/21 10:48:50 CPJxMALFO
UWSCは当初ゲームの自動操縦のために使い始めたんだけど、
今はIEを操作することが多いんですよね。
IEの操縦ならHTAでっていうかHTML+VBScriptにすると、画面も使えちゃって便利です。
HTMLのスクリプトならJavaScriptじゃないとって思ってたけど、
UWSCでBasic系の記述に慣れてるのと、HTAで使うのはJavaScriptじゃなくてJScriptなので、
どうせならVBScriptを使ってWeb用とHTA用をはっきり分けたほうがいいかなということで
VBScriptで行きました。
HTAで作ったツールの第一号をうpってるんで使ってみてください。
ていうかできればコレをダウンロードして、規制されてる僕たちのために代行やってください。
URLリンク(karimofu.org)
標準ZIP DLパス:siberia

130:名無しさん@お腹いっぱい。
09/04/21 12:15:22 zWBQpk48P
>>129
どう見てもウィルスです
本当にありがとうございました

カスペルスキーインターネットセキュリティ
2009
アクセスが遮断されました
入力したURLのWebページを表示できません

入力したURL:
URLリンク(karimofu.org)
21be/mofu1_6055.zip

このWebページはウイルスに感染しています

次のウイルスが見つかりました:Trojan-Downloader.JS.gen


この情報が正しくないと考えられるときは、ご利用のサービスプロバイダーにご連絡ください
情報:
Tue Apr 21 12:14:05 2009
カスペルスキーインターネットセキュリティ 2009

131:名無しさん@お腹いっぱい。
09/04/21 13:33:41 CPJxMALFO
>>130
あなたのパソコンがウィルスに感染してるか、うp炉だ自体がウィルスだと判定されているんだと思います。
そもそもZip圧縮されたものがウィルスとして活動できるわけないでしょう。偽装ならともかく。
AVG ClamWin Eset eTrust McAfee MicroWorld Norman Sunbelt VirusBuster の4・20の最新パターンで検索して一つも引っかかりませんでしたよ。

URLリンク(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

同じものを別のとこに置いたから、こっち↓からのダウンロードを試してみてください。
URLリンク(scripts.web.fc2.com)

132:名無しさん@お腹いっぱい。
09/04/21 13:44:41 ghaE4/Ws0
>>ID:CPJxMALFO
DLする気になれないからウィルスかどうかは判らんが、HTAとJScriptの話題を続けるなら

他所でやってくれ。

133:名無しさん@お腹いっぱい。
09/04/21 14:00:12 KISr4rZl0
>>131
帰れカスが

134:名無しさん@お腹いっぱい。
09/04/21 14:25:54 zWBQpk48P
URLリンク(www.virustotal.com)
にて>>129>>131をチェックしました。
結果は以下の通りです。
URLリンク(www.virustotal.com)

皆さん注意してください。
>>131が言っているのは全くの嘘、詐欺、デタラメです。
最近のウィルス対策ソフトは圧縮データをバックグラウンドで自動で解凍し、
中身に問題のあるファイルが含まれているかをチェックしています。
圧縮されている「郵便補助.hta」というファイルはウィルスです。

まだ対策が始まったばかりで未対応のウィルス対策ソフトもあります。
既に実行された方は
URLリンク(www.kaspersky.co.jp)
にてウィルスがどこにあるかを調査し、手動で削除する必要があります。
(無料のため自動では削除されません)

皆様、くれぐれも実行などせぬように注意願います。

135:名無しさん@お腹いっぱい。
09/04/21 15:44:40 hCW2ez470
Trojan-Downloader.JS.gen でも何でもないけど
HTTP_GETしてるスクリプトは誤判定されるんだろうな
どっちにしろスレ違いだし、もうあきらめなー

136:名無しさん@お腹いっぱい。
09/04/21 17:20:34 EjoW6ZpV0
落として検査してソース見たよ



137:名無しさん@お腹いっぱい。
09/04/21 19:21:07 hCW2ez470
俺も見たよ 問題ないだろ
関数GetTextByURLだけ抜き出して>>134でチェックすると引っかかる
F-SecureとかKasperskyはあまりアテにならんってことだな

138:名無しさん@お腹いっぱい。
09/04/21 23:19:31 KISr4rZl0
問題ないとかじゃなくてスレ違いだっつの

139:名無しさん@お腹いっぱい。
09/04/22 17:32:54 N45Vs4AF0
初心者です
座標(X,Y)の色が黒で無いという文を作りたいです
PEEKCOLOR(X,Y)= $181818

否定の ! はどのようにつければいいのでしょうか
試行錯誤してみましたが機能しませんでした

140:名無しさん@お腹いっぱい。
09/04/22 19:50:11 5189R7q50
<>

141:名無しさん@お腹いっぱい。
09/04/22 21:33:39 5EWcb3vi0
思うんだが181818だけが黒じゃないよね?

142:名無しさん@お腹いっぱい。
09/04/22 21:37:39 GhDeitu20
>>139
!(PEEKCOLOR(X,Y) = $181818)

143:名無しさん@お腹いっぱい。
09/04/23 00:06:35 kwl9x0DH0
>>142さん
ありがとうございます
機能しました

144:シベリアよりのお手紙
09/04/23 13:39:24 VMVPYLE80
■ブラウザで掲示板に書き込む操作【送信ボタンクリック編】
初心者に簡単なほうから順に
※IDやIEは適切に取得している前提

(1) ClkItem(ID, "書き込む", CLK_ACC)
(2) IELink(IE, "書き込む")
(3) IELink(IE, "", 1)
(4) IE.document.all.[アイテム名].click()
(5) IE.document.[フォーム名].submit()

(1),(2)は表示されているボタン名を指定してクリックする方法で、簡単です。
アイテム名、フォーム名はWebページのソースを見て確認する必要があります。
「name=」や「ID=」で名前がつけられてないときは、forms[0]やitems[0]などと指定します。

【解説】
また、ボタン名は「submitです」
(1) ClkItem()はローカルアプリケーションの操作用ですが、CLK_ACCを指定するとWebページの操作も可能になります。
(2)と(3) IELink()は、<a>タグによるリンクをクリックするものです。
  標準以外のボタンやテキストリンクの場合に使えます。
(2)テキストで書かれたリンクの場合の書き方です。
(3)画像リンクの場合の書き方です。”ログイン”などと表記されていても、画像が埋め込まれている場合はこちらを使います。
(4)と(5) DOM(Document Object Model)と呼ばれるアクセス方法です。
2ちゃんねるでは(5)については動きません。ボタン名がかぶっているからかも。

145:名無しさん@お腹いっぱい。
09/04/23 14:11:23 ToP+iXmu0
どうも配列変数が巨大(x{1000]とか)なスクリプトがあるとUWSC関係のいろいろに影響するっぽい
起動オプションでUWSC用メモリ確保量指定できるといいんだけど

146:名無しさん@お腹いっぱい。
09/04/23 14:34:53 hbhpeBX00
大昔のPCとビデオキャプチャカード(予約録画機能なし)+UWSCで録画専用PCを作成してみた。

rec.uws 番組タイトル 分数
をuwscのタイマーにセットし、(タイマーは40個分あるので充分)
rec.uwsは時間になるとchkbmpで録画ボタンを押し、分数で与えた時間が経過すると停止ボタンを押す。

終わったらmpgデータを、
録画済みフォルダにタイトル+数字.mpgが既にあれば、
タイトル+(数字+1).mpgにリネーム、なければタイトル001.mpgにリネーム
リネームしたmpgを録画済みフォルダに移動する。

そのうち、
録画しない空き時間にmpgをMediaCoderでaviに自動変換して入れ替えていく機能も追加しようと思う。

四、五万もだせば最新・高機能のHDDレコが買えるのだから、こんなもの作って喜んでいるのは貧乏人の証明以外何物でもないのだが。
手間はほんの数時間だからいいんだよ!


147:名無しさん@お腹いっぱい。
09/04/27 17:00:06 IAlYDpEu0
URLリンク(siromasa.xxxxxxxx.jp) ←ここのzip解凍を参考に
Dim FilePath_Lha
Dim DirPath

FilePath_Lha=PARAM_STR[0]
DirPath=PARAM_STR[1]
UnLHA32(FilePath_lha, DirPath)

Function UnLha32(a_FilePath_Lha, a_DirPath, a_Command = "e", a_Option = "-y")
  a_DirPath = a_DirPath + Format(ChrB(0), 1)
  PathAddBackslashA(a_DirPath)
  Dim szCmdLine = a_Command + " " + a_Option + " " + DQ(a_FilePath_Lha) + DQ(a_DirPath)
  Dim t_Len = $1000
  Dim t_Buff = Format(ChrB(0), t_Len)
  UnLha(0, szCmdLine, t_Buff, t_Len)
  Result = t_Buff
FEnd

DEF_DLL UnLha(HWND, STRING, var STRING, DWORD) :INT :UNLHA32.DLL
DEF_DLL PathAddBackslashA(var String) :String :ShlwApi.DLL
Function DQ(a_Path)
  Result = "<#DBL>" + a_Path + "<#DBL> "
FEnd

とやってみましたが
「Not DLL Function:UnLha」
「20行目:UnLha(0, szCmdLine, t_Buff, t_Len)」と出て上手くいきません。
unlha32.dllはsystem32の中にありVBでは上手くいきます。
解決の糸口を教えてください。


148:名無しさん@お腹いっぱい。
09/04/27 19:14:42 QD9XwKZQP
>>147
DEF_DLLは、UWSCの関数と違って使う前に定義しないといけない。
ファイルの先頭に書いておけば間違いないと思う。


149:名無しさん@お腹いっぱい。
09/04/27 21:03:06 H7TyYdrJP
>>147
ヒント
大文字と小文字を区別して書く習慣をつけよう

150:名無しさん@お腹いっぱい。
09/04/27 23:58:18 ITcnKio80
>>148
>DEF_DLLは、UWSCの関数と違って使う前に定義しないといけない。

これ相当前に解消されてるハズ。
現に関数部の後にまとめてコピペしても動くし…。

>>149
関係ないような…

>>147
調べてないけど、
>DEF_DLL UnLha(HWND, STRING, var STRING, DWORD) :INT :UNLHA32.DLL
これ合ってる?

DEF_DLL UnZip(HWND, STRING, var STRING, DWORD) :INT :UNZIP32.DLL
を単純に真似しただけという理由なら駄目だと思うよ…
オイラが間違ってたらスマン。

151:名無しさん@お腹いっぱい。
09/04/28 00:05:16 UnYs7tqY0
>>147
DLL系は敷居が高いなぁ…と言ってしまうようなにわかスクリプターとは俺のこと。
今動かしてるのはこんな感じ。関数作るならその都度宣言してもいいんじゃないかなぁ。
…なんで宣言した引数より少なくて動くのかはしらね。逆に在ると動かないのに気づいたのは奇跡。

lha("c:\aaa\", "c:\aaa.lzh")
function lha(in, out)//入力はフォルダ専用
 DEF_DLL Unlha(Long, String, String, Long) :Long :UNLHA32.DLL
  dim hWnd
  in = "<#DBL>" + in + "<#DBL>"
  out = "<#DBL>" + out + "<#DBL>"
  commandline = "a -drn "+ out +" "+ in
  result = Unlha(hWnd, commandline)
fend

152:名無しさん@お腹いっぱい。
09/04/28 00:18:30 lagyuQtDP
>>151
それで動いてるんなら、戻り値がLongとすべきところをintにしてるのが問題っぽいね。


153:名無しさん@お腹いっぱい。
09/04/28 00:36:03 UnYs7tqY0
>>151
リザルトなんて取ってもfalseに成るだけだしなぁ。まだまだ詰めが甘過ぎるなぁ。


ところで、こちらからの質問なんだけど…
httpからのダウンロード時に URLDownloadToFileA を使っているわけだが
これを使うとスレッド動作じゃなければ、UWSCが無反応になってしまう。
…つーか専有するのはわかるけどな。UWSCでスレッドは制御しにくいから嫌なんだ。

かといって WinHttp.WinHttpRequest.5.1 等のものを使っても同じく専有して無反応。
外部にダウンロードに必要な取得cookieを渡す仕様は嫌なのでUWSCの中で完結したい。

なんかスレッドの良い処理方法は無いですかね。
…UWSCのスレッドは終了が判らないから同時ダウンロード数が弄り難いんだ。
  もう downloadBalancer とかの関数を作って、偶に抜けたりするのは勘弁だ…
…調べたり試したりするほどに無理な気がしてきたぜ。素直に別のEXE作ろうかなぁ…threadめ…

154:名無しさん@お腹いっぱい。
09/04/28 07:01:41 lagyuQtDP
>>153
こんな風にやればいんじゃね?知らないけど。

ThreadCnt = 0
for i = 0 to listcnt - 1
 ifb cnt <= 3 then
  thread downloadfile(URLList[i], FilePathList[i], ThreadCnt)
 endif
 sleep(1)
next

function downloadfile(URL, FilePath, var cnt)
 cnt = cnt + 1
 result = URLDownloadToFile(0, URL, FilePath, 0, 0)
 cnt = cnt - 1
fend


155:147
09/04/28 10:20:25 C7CacfK90
>>151 他レスを頂いた皆様ありがとうございます。
151氏のソースでさっくり動きましたのでパックリぱくらせていえ参考にさせて頂きました。m(._.)m



156:名無しさん@お腹いっぱい。
09/04/28 12:35:26 r3leceUUP
ちなみに>>147が動かなかった原因はここ。
>DEF_DLL UnLha(HWND, STRING, var STRING, DWORD) :INT :UNLHA32.DLL
関数名が間違っている。正しくはUnlhaね。

DLL関数自体は厳密に区別する。もともとC言語で生まれた概念だし。
だから関数が見つけられずに「Not DLL Function:UnLha」って言われているだけ。
大文字と小文字を区別して書く習慣をつけない限り間違い続けるよ。


157:147
09/04/28 13:02:54 C7CacfK90
>>156
おっしゃるとおり検証して確認いたしました。エラーは正確に正してくれていたのですね。
勉強になります。感謝です。


158:150
09/04/28 23:09:04 naDOL5i60
>>156 >>147
あぅ、気づかなかった…
スレ混乱させてスマンかった。反省。

159:名無しさん@お腹いっぱい。
09/05/04 20:11:23 W27H0amO0
任意の長文をテキストボックスに入力させる方法は?
アルファベット数文字だったら
KBD(VK_A,CLICK,40)
KBD(VK_H,CLICK,40)
KBD(VK_O,CLICK,40)
とかやっちゃうんだけど。
クリップボードを使うしかないのかな。
長文は固定じゃないから文章を入力したテキストファイルを複数用意しておいて
その内容をどうにかしてクリップボードに入れて
貼り付けって考えてるんだけど
どうかな?
もっとスマートなやりかたあるのかな。

160:名無しさん@お腹いっぱい。
09/05/04 20:20:44 6PozxKUv0
SENDSTR使えよw

161:名無しさん@お腹いっぱい。
09/05/04 20:30:09 VCE73Rq/0
おおおぅ!こんな関数があったとは!

162:名無しさん@お腹いっぱい。
09/05/04 20:48:25 i5Em8Ahd0
( ゚д゚) え? 使用頻度も多いし、CLKITEMなんかとともに関数の中ではまっ先に覚えるものだと思うんだが

163:名無しさん@お腹いっぱい。
09/05/04 21:05:57 jmZu6dcUP
だから初心者なんだろ?

164:名無しさん@お腹いっぱい。
09/05/04 21:25:47 /XePhOys0
>>162
すまん、目的が目的だったからchkimgとifbが先だった。

まぁ、用途によって覚えるモノは違うさ。
さて、俺もSENDSTR覚えたぞ。あとはhtmlソースから任意の文を抜き出す方法を理解してくる。

165:名無しさん@お腹いっぱい。
09/05/05 14:09:24 0o+yJk7+0
メモ帳が起動していなかったら、起動するってどうやって記述すればいいの?

166:名無しさん@お腹いっぱい。
09/05/05 14:28:20 xNlAE/wF0
ヘルプに書いてあったような。

167:名無しさん@お腹いっぱい。
09/05/05 17:32:47 7o1dfAoW0
ifb getid("メモ帳") < 0
  exec ("notepad")
endif
.
.
.
とか?
exec()は
NotepadID = exec("notepad")
とかやっとくと後から融通が利くと思う。

168:名無しさん@お腹いっぱい。
09/05/05 18:03:41 OvZysuYR0
メモ帳が起動してるケースで
 「NotepadIDが取得できずにエラーが出ました」
って質問が来たりして。

169:名無しさん@お腹いっぱい。
09/05/05 18:26:15 0o+yJk7+0
>>167
ありがとうございました。
1歩前進し出来ました。


>>168
初めて1時間。なんとなくわかってきました。

170:名無しさん@お腹いっぱい。
09/05/05 19:54:56 7o1dfAoW0
あとフルパスも使えたりする

171:名無しさん@お腹いっぱい。
09/05/06 14:03:18 b6Xj8bdU0
スクリプト超初心者で意味不明です。
UWSCはそれよりは少し簡単だとききました。
キャッシュバックモールの検索で使う不純な目的ですが…

UWSC Free版 Ver4.5aで
@文字を指定して検索
A11〜20秒ランダムで時間指定して間をあける。
B検索結果のページから、検索ページへページを戻す。
C @とは違う文字で検索

@〜Cの繰り返しをこのソフトでできますか?
この方法や手順のコツがあれば教えてください。

172:名無しさん@お腹いっぱい。
09/05/06 16:15:12 tpC5BtzM0
>>171問題なくできる
コツとしてはフレーム使用サイトだった場合IEGET/SETDATAが使えないから
a_tags = IE.document.frames("そこのフレーム名").document.getElementsByTagName("a")
a_tags.item(0).innerHTMLなりa_tags.item(6).clickなりするところ
ducumentオブジェクト(DOM)の詳しい使い方はUWSC以外でも共通なんで必要になったらネットにもいろいろ情報転がってる

173:名無しさん@お腹いっぱい。
09/05/06 16:59:46 okQLn1BE0
俺なら有料で教えてやるよ
どうせ調べ方も分からないだろうし、調べる気もないだろうし
1手順1000円、合計4000円でちゃんと動くやつ用意してやる

キャッシュバックモールだけでなくあらゆる場所で使えるから
先行投資だと思えば安いもんだろ

174:名無しさん@お腹いっぱい。
09/05/06 17:49:39 +2INV9Pa0
Drop on Scriptを使うなど出先のPCのレジストリに影響を与える方法を避けて、
USBからアプリを起動する環境で便利にスクリプトを使う方法をいろいろ調べていたら、
Windowsが標準搭載しているbatやJscriptにスクリプトを組み込んで使う方法があると知りました。
【.cmd】バッチファイルスクリプト%4【.bat】 スレリンク(tech板)
URLリンク(pc.nikkeibp.co.jp)
URLリンク(www.geocities.jp)
Jscriptやなでしこは、batファイルにそれぞれのスクリプトを記述して、
複数行コメント機能や、複数行変数の機能をうまく利用して
例 "M:\PortableApps\nadesiko_lang\vnako.exe" "%~0" %*で
引数も渡せるようです。
同じようなことをUWSCでやろうとしたら、拡張子uwsをチェックしてるらしくて
はじかれてしまいました。
起動オプションに拡張子チェックをしないなんてオプションがあると、
簡単に出来るように思うんですけど、みなさんどう思います?


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5142日前に更新/344 KB
担当:undef