自動化ツールUWSC使いよ集まれ10

このエントリーをはてなブックマークに追加
952名無しさん@お腹いっぱい。:2014/01/06(月) 16:13:04.21 ID:Ev3dFHii0
セキュリティソフト全部切ってnotepad等の記録を試しても出来ないのならもう誰も判らん
953名無しさん@お腹いっぱい。:2014/01/06(月) 16:22:39.58 ID:Yt+Bs/7Y0
確か記録に必要なのは RecUws.dll だけど同梱されているから
とりあえずUWSCの破損を疑った方が良いので再DLしてみたらどうかな
後、環境との相性の可能性も無くはないので過去バージョンも含めて色々試してみると良いかも
954名無しさん@お腹いっぱい。:2014/01/06(月) 19:28:05.66 ID:lz3428n30
>>949
「設定」−「記録後クリップボードへコピーする」にチェックを入れて
メモ帳にコピペでもだめ?
955名無しさん@お腹いっぱい。:2014/01/06(月) 21:50:09.71 ID:E/Kpd+Tq0
>>947
ゲームがdirect xで画面かいているか、そうでないか程度は最低限書いた方が良いな。
俺は、それ聞いても分からんけど
956名無しさん@お腹いっぱい。:2014/01/07(火) 00:07:58.21 ID:gWrRYOEB0
>>952=>>955
皆さんレスありがとうございます。
クリップボードへコピーでもコピーできてませんでしたので
先程バージョンを下げて試したところ無事記録できるようになりました。
相性の問題なのかわかりませんがひとまずこれで
やっていこうと思います。
ありがとうございましたm(_ _)m
957名無しさん@お腹いっぱい。:2014/01/07(火) 08:33:58.44 ID:FtwaQqTr0
Windows8.1 + IE11 でリンクをドロップしようとしてるんだけど
通常起動したIE11ではドロップを受け付けるのに
UWSCで起動したIE11ではドロップを受け付けてくれない。

同じファイルで同時に起動しててもそれぞれ違う動作をする。
タイトルバーにすらドロップできないから移動できない。

動作環境変えて動いたとしてもめんどくさいな。

試しに CreateOLEObj("InternetExplorer.Application") を
exec( IEPath + HTMLPath )
GetActiveOLEObj( "InternetExplorer.Application", Title )
に変えてやってみたけどダメだった。

バッチファイルから IE と UWSCを呼び出したら成功。
だけど、start で呼び出さないとコマンドプロンプトが残る。
start使ったからか、カレントディレクトリが変わってしまうので . が使えない。
TIMEOUT はHTMLのタイトルが設定されるまで待つため。

-- test2014_010.bat --
set CURDIR=%CD%
"C:\Program Files\Internet Explorer\iexplore.exe" "%CURDIR%\test2014_009.htm"
TIMEOUT /T 3 /NOBREAK
start "UWSC" /b "C:\Program Files 3\uwsc\UWSC.exe" "%CURDIR%\test2014_010.uws"

同じタイトルのIEが起動してると失敗するから、
IE起動前に同じタイトルのウィンドウを閉じるかリスト化して渡すといいかもしれんがめんどくさいな。
でも確実に動いてほしいから閉じることにするか。
958名無しさん@お腹いっぱい。:2014/01/07(火) 11:06:27.94 ID:NfQOr1I/0
DOSCMDとかDROPFILEは使わんの?
959名無しさん@お腹いっぱい。:2014/01/07(火) 12:12:44.13 ID:FtwaQqTr0
>>958
DOSCMD は戻り値がコマンドが出力した文字列だから意味がない。
やってみたけどやっぱりドロップを受け付けなかった。
DROPFILE はドロップ操作を自動化するものだけど、ドロップされたファイルを処理するものではないし。

そもそもIE起動時に HTML を渡すのはタイトルを指定することで他のウィンドウと区別するためだし。
今やってみたら IE を閉じないと進まなくなったんで START で起動するように変更した。

GetActiveOLEObj の前に GetID() で 見つかるまで待つ(-1)を指定したら、TIMEOUT はなくしても大丈夫だった。

GetID( Title, "IEFrame", -1 )
IE = GetActiveOLEObj( "InternetExplorer.Application", Title )


affinity を指定したとき、UWSC の affinityMask が起動後のアプリに引き継がれたことを考えると、
UWSC本体がドラッグ&ドロップを受け付け・・・・るよな。
なんでこんなことになるのか分からんけどできる方法が見つかったからまあとりあえずおk。
960名無しさん@お腹いっぱい。:2014/01/07(火) 14:05:27.53 ID:FtwaQqTr0
ダメだ。
バッチで起動して GetActiveOLEObj だと、ページが遷移したときに OnQuit が飛んできて
BeforeNavigate2 の URL も ”about:blank” になってしまう。
キャンセルフラグをセットしてもキャンセル出来ない。
IEの画面では普通にドラッグされたページが開いているのに。

しかも、そのあと IE を終了すると OnQuit を受信してるし。

ログ
start
get
OnQuit
getNavigateURL : about:blank
getNavigateURL : no match : about:blank
OnQuit

あ、IEの保護モードのチェックを外したら普通に動いた。

ややこしい。
961名無しさん@お腹いっぱい。:2014/01/07(火) 14:42:21.78 ID:QzAVQZuY0
ファイルのドロップだと、ondropでフルパスは得られないからBeforeNavigate2イベントなんだろうけど
ウェブページのリンクをドロップなら、JavaScript側からURLを読み取れるでしょ
962名無しさん@お腹いっぱい。:2014/01/07(火) 15:49:44.75 ID:B4h7jA6Z0
FGETでメモ帳から数値を読み取り1行目の3列目と6列目の数値を計算させようとしました。
数値A = FGET(ID, 1, 3)
数値B = FGET(ID, 1, 6)

計算結果 = 数値A + 数値B 

を計算したいのですがエラーが出て上手く計算できません。
エラーは"型があっていないorオーバーフローです"と表示されます。
数値A数値Bはともに小数点以下3桁まであります。
良くわからずググった結果、型が合っていないとエラーが出るのは文字列型になっているのかな?と考え
AAA = VARTYPE(数値A, VAR_DOUBLE)
と試してみましたが違うエラーが出ました。
"OleStr型からDouble型へのバリアント型変換はできません"

・FGETで参照した値は全て文字列扱いなのでしょうか?
・小数点以下3桁までの計算を行う方法があるでしょうか?

知識不足なので、質問内容自体、変な事を言っていたらすみません。
963名無しさん@お腹いっぱい。:2014/01/07(火) 16:07:10.65 ID:B4h7jA6Z0
962です。
自己解決しました。解決方法がuwscのヘルプに乗っていたのを見落としていました。
スレ汚しすみませんでした。
964名無しさん@お腹いっぱい。:2014/01/07(火) 16:38:20.73 ID:AAKW+iTv0
質問掲示板で嫌われるタイプ。
・教えてもらった知識は俺のもの。俺が自力で気付いた知識は俺だけのもの。
・質問の仕方の不備を指摘されると逆ギレ。
・自己解決しました、のことを、自決しました、と書いて命を無駄にする奴。

故意ではないだろうが1番目のやつに該当。
965名無しさん@お腹いっぱい。:2014/01/07(火) 16:41:46.70 ID:aBW4r/WR0
>>964
意味わかんね、安価させよ
966名無しさん@お腹いっぱい。:2014/01/07(火) 16:53:14.63 ID:FtwaQqTr0
>>961
目的がファイルのダウンロードなんだけど、普通は「名前を付けて保存」ダイアログを操作する必要があるから
JavaScript で自動ではできない。

FileAPIはよく分からん。
967名無しさん@お腹いっぱい。:2014/01/07(火) 17:10:06.88 ID:B4h7jA6Z0
>>962です。>>963で自己解決したと書きましたが、その内容です。
数値A = FGET(ID, 1, 3)
数値B = FGET(ID, 1, 6)
計算結果 = 数値A + 数値B
では、"型があっていないorオーバーフローです"とエラーが出ましたが

計算結果 = VAL(数値A) + VAL(数値B)
とする事で問題なく計算が行えました。
小数点云々の私の質問は自分の勘違いだったようで、整数でも少数でも計算可能でした。

・FGETで参照した値は全て文字列扱いなのでしょうか?(>>963)
の質問は、これはuwscのヘルプの#n21に該当していました。以下引用です
>数値を COPY、POS、CHGMOJ、GETSTR関数等で取得して 数値演算したいのだが文字演算になる  #n21
>>文字操作関連の関数は戻り値として文字列を返す為です。
>>VAL関数を使い数値にする必要があります

helpにも載っていた事でしたので、あえて詳しい内容までは書きませんでしたが
>>964は恐らく自分に対しての指摘だと思いましたので、内容を書かせていただきました。
質問時のマナーを知らず、不快にさせてしまっていたら本当にすみませんでした。
以後気を付けたいと思います。
968名無しさん@お腹いっぱい。:2014/01/07(火) 17:54:55.00 ID:AAKW+iTv0
>>967
やっぱVALか、おつかれw
969名無しさん@お腹いっぱい。:2014/01/07(火) 18:03:06.58 ID:wCiKvcnI0
exeを起動したいのにexec関数で起動しません。どういうこと?
EXEC("C:\Program Files (x86)\hoge\xxx.exe")

仕方なくデスクトップのショートカットをクリックという方法で代用してます。
CLKITEM(GETID("Program Manager", "Progman", 1), "abc", CLK_LSTVEW or CLK_DBLCLK)

環境はwin7(64)です。
970名無しさん@お腹いっぱい。:2014/01/07(火) 18:20:49.53 ID:QzAVQZuY0
× EXEC("C:\Program Files (x86)\hoge\xxx.exe")
   ↓
○ EXEC("<#DBL>C:\Program Files (x86)\hoge\xxx.exe<#DBL>")
971名無しさん@お腹いっぱい。:2014/01/07(火) 20:27:26.65 ID:A30Yirm20
IE11に自動アップデートされてしまった
busywaitを公式FAQのに変更しただけじゃ昔通り動かなくなった
ctrlwinで最大化する処理省いたら直ったけどなんだったんだか
972名無しさん@お腹いっぱい。:2014/01/07(火) 21:10:21.86 ID:pbwF3a880
現在のマウスカーソルの位置情報を取得した後に指定箇所をクリック
その後もとの位置にマウスカーソルを戻すにはどうすればいいでしょうか
973名無しさん@お腹いっぱい。:2014/01/07(火) 21:27:28.38 ID:8nOZyfS+0
>>972
現在のマウスカーソルの位置情報を取得
↑の座標にmmvすればいいだけでは
974名無しさん@お腹いっぱい。:2014/01/07(火) 21:50:07.66 ID:lIdyOim40
>>969
同じwin7(64)だけど、問題なく起動できる(IE、Chrome)
何のプログラムか分からないけど管理者権限で実行とかじゃないの?
975名無しさん@お腹いっぱい。:2014/01/09(木) 01:57:44.22 ID:QRJpD11F0
fizz buzzができない
教えて
for i = 1 to 100

print i

next
976名無しさん@お腹いっぱい。:2014/01/09(木) 02:21:12.37 ID:QRJpD11F0
ここまで出来たけど、fizz buzzがうまくいかない

for i = 1 to 100
if int(i/3)=(i/3) then
print "fizz"
elseif int(i/5)=(i/5) then
print "buzz"
elseif int(i/3*5)=(i/3*5) then
print "fizz buzz"
else
print i

endif
next
977名無しさん@お腹いっぱい。:2014/01/09(木) 02:29:56.29 ID:t9zaTET30
fizz buzz問題って教えてもらうものか?
特に縛りがなくてシンプルなコードにするなら MOD 使うといいよ
978名無しさん@お腹いっぱい。:2014/01/09(木) 02:32:15.93 ID:QRJpD11F0
>>977
modなんて関数ない
教えてくださいじゃないと寝れないです
979名無しさん@お腹いっぱい。:2014/01/09(木) 02:34:35.56 ID:t9zaTET30
関数じゃなくて演算子
980名無しさん@お腹いっぱい。:2014/01/09(木) 02:54:37.13 ID:u/wf6nTj0
ひどいコードだな
そもそも最初のif文に包含されてるから動くわけないんだが
インデントくらいつけろよと
981名無しさん@お腹いっぱい。:2014/01/09(木) 03:19:51.80 ID:EAgfSN4R0
modなんてエクセルにもあったろエクセルのヘルプみろって…
982名無しさん@お腹いっぱい。:2014/01/09(木) 03:41:32.63 ID:h9lX67Zz0
変数を理解して無いクズと見た
983名無しさん@お腹いっぱい。:2014/01/09(木) 03:45:31.69 ID:opUgv9RQ0
>>976
がんばれw

プログラムの基本ならCかJavaの入門書で勉強するのがお薦めだよ
アルゴリズムの基礎も探索やソートを分かりやすく解説した書籍があるし
WEBで評判の良い物を何冊か探して、実際に大きな書店に行って
自分に合いそうなもので学習しなよ
特にアルゴリズムの基礎は今後UWSC(その他プログラム言語)を使う上で
学習しておいて損はない

あとhelpを読むのは基本だよ
984名無しさん@お腹いっぱい。:2014/01/09(木) 03:49:44.84 ID:opUgv9RQ0
>>976
スレが1000に近いのでとりあえず作ってみた

for i = 1 to 100
ans = ""
if !(i MOD 3) then ans = "Fizz"
if !(i MOD 5) then ans = ans + "Buzz"
if ans = "" then ans = i
print ans
next
985名無しさん@お腹いっぱい。:2014/01/09(木) 03:53:39.82 ID:opUgv9RQ0
インデントが消えてしまったorz
全角スペースじゃないとダメなの忘れてました、ごめんね
986名無しさん@お腹いっぱい。:2014/01/09(木) 07:46:17.97 ID:ohh50qT+0
これ解答なんてキリないぞw
http://codezine.jp/article/detail/7546
987名無しさん@お腹いっぱい。:2014/01/09(木) 08:05:01.66 ID:t9zaTET30
もともとプログラマの個性や言語仕様に対する理解や閃き的な部分を評価するための問題だからね
ぶっちゃけ答えそのものは説いた人の数だけあると言っていい
なので「教える」もんじゃないのよ
988名無しさん@お腹いっぱい。:2014/01/09(木) 08:25:26.58 ID:ohh50qT+0
S="FizzBuzz";FOR i=1 TO 100;PRINT i+":"+COPY(S,(i MOD 3)*9,4)+COPY(S,5+(i MOD 5)*5,4);NEXT
90文字
989957:2014/01/09(木) 10:17:56.83 ID:Jp4PcdDZ0
どうもうまくいかんからいろいろいじってたけど
Javascriptにバグがあるとまったく反応しなくなるんだな。

if 文の判定のかっこを忘れても警告とかないし
オブジェクトを間違って使っても警告なし。

UWSC からも Javascript からもソースをいじろうとして反応しなくなったからなんだろうと思ったら
そういうことらしい。
990名無しさん@お腹いっぱい。:2014/01/09(木) 10:34:31.68 ID:haB4wTeX0
UWSCから外部モジュールを使うんじゃなくて
外部モジュールからUWSCを使えさえすれば
全て問題ないのにね
991名無しさん@お腹いっぱい。:2014/01/09(木) 11:33:22.88 ID:FI6wHjFI0
dim a[]=0,"Fizz","Buzz","FizzBuzz";for i=1 to 100;a[0]=i;print a[(i mod 5=0)*2+(i mod 3=0)];next

>>989
エラー表示するかどうかはブラウザの設定次第だよ
992名無しさん@お腹いっぱい。:2014/01/09(木) 13:14:00.37 ID:hFz7Kd3R0
次スレ立てますよ
993名無しさん@お腹いっぱい。:2014/01/09(木) 13:19:29.38 ID:hFz7Kd3R0
次スレ
自動化ツールUWSC使いよ集まれ11
http://anago.2ch.net/test/read.cgi/software/1389240960/
994名無しさん@お腹いっぱい。:2014/01/09(木) 14:05:28.21 ID:n9nCZ7V20
>>993
995名無しさん@お腹いっぱい。:2014/01/09(木) 15:05:11.72 ID:3HQ+L1tS0
1
996名無しさん@お腹いっぱい。:2014/01/09(木) 16:27:17.06 ID:Jp4PcdDZ0
>>993
おつ
997名無しさん@お腹いっぱい。:2014/01/09(木) 17:03:55.73 ID:kaf0rJYM0
1
998名無しさん@お腹いっぱい。:2014/01/09(木) 17:29:06.52 ID:t9zaTET30
うめうめ
999名無しさん@お腹いっぱい。:2014/01/09(木) 18:42:03.05 ID:aUvaeWPw0
1000名無しさん@お腹いっぱい。:2014/01/09(木) 18:42:36.91 ID:aUvaeWPw0
5年ぶりの1000!
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。