[ 掲示板に戻る ]

過去ログ閲覧モード

(No Subject) / gaudy
サンプルプログラム
// Yahoo!ファイナンスを開き、データをExcelに送りグラフを作成  #n35
を起動させたら、
XLOPEN:FUNCTION OF THE PRO VERSION
10行目:EXCEL=XLOPEN(TRUE)
とエラーが出てしまいました。
解決方法がわかる方がいたら教えてください。
よろしくお願いします

No.633 2014/12/24(Wed) 20:34:23

Re: / Nagatani
Pro版を購入されればなおりますよ!
No.635 2014/12/24(Wed) 21:38:45
CHKIMGの検出座標 / koi
UWSC5.0.4 + Win7 SP1(32bit)

これまで単純に検出の有無だけをチェックしていたため気が付かなかったのですが
SAVEIMGにて保存した画像をそのままCHKIMGした場合
保存画像と同一の座標値が検出座標として返されるのが正常だと思うのですが
MOUSEORG関数を使った場合 座標のずれが発生して返ってくるようです

これは不具合・仕様 どちらでしょうか?

テストコード
X = 100
Y = 100
SAVEIMG("C:\TEMP\test0.bmp", 0, X, Y, 100, 100)
print FORMAT(X, 5, 0) + FORMAT(Y, 5, 0)
print chkimg("C:\TEMP\test0.bmp") + FORMAT(G_IMG_X, 5, 0) + FORMAT(G_IMG_Y, 5, 0)
ID = GETID("Google Chrome")
MOUSEORG(ID, MORG_CLIENT, MORG_BACK)
SAVEIMG("C:\TEMP\test1.bmp", ID, X, Y, 100, 100)
print chkimg("C:\TEMP\test1.bmp") + FORMAT(G_IMG_X, 5, 0) + FORMAT(G_IMG_Y, 5, 0)

(当方での)出力結果が以下のようになります
100 100
True 100 100  ->スクリーン全体の時は問題なし
True 95 100  ->MOUSEORG後 X座標のみが同一座標にならず
            ちなみにX/Yを0にすると未検出になります

CLIANTにしてるのが原因かと思い DIRECTにしてみましたが現象は変わりません

5.0.4で CHKIMG関連でFIXがあったのは知っていますが
最大化しているわけでもありませんし
いくつかの旧バージョンでも動かしてみましたが
いずれも同様の現象が発生しています

保存画像を確認する限りSAVEIMGには問題がないように思われます

ちなみに
5.0.4とメモ帳で行ってみたところクロームとはまた違った結果になってしまいました
(X/Y両方ともずれる)
なんかわけわからなくなってきてます

No.624 2014/12/21(Sun) 20:56:11

Re: CHKIMGの検出座標 / umiumi
saveimgと chkimgの座標系が違うから
クライアント座標で処理するなら saveimg関数の クライアント指定を Trueに
SAVEIMG("C:\TEMP\test0.bmp", 0, X, Y, 100, 100, True, 0, IMG_BACK)

No.626 2014/12/22(Mon) 00:36:37

Re: CHKIMGの検出座標 / koi
回答ありがとうございます
問題ないと思っていたSAVEIMG側の使い方の問題でしたか
気が付きませんでした
確認したところ確かに座標系が一致するようになりました

No.629 2014/12/22(Mon) 05:07:51
タイマーについて / 超初心者
毎日のタイマーの設定で、「10時23分」と「12時15分」をひとつの式で表すにはどうしたらよいでしょうか?
No.627 2014/12/22(Mon) 05:02:56

Re: タイマーについて / 超初心者
すみません、ANDとORを間違って記入していたようで自己解決しました。
No.628 2014/12/22(Mon) 05:06:04
RecIE開けない / Nagatani
お世話になります。Pro5.0.4.0になってからでしょうか?RecIEを使って「http://www.yahoo.co.jp/」とか「google」を開こうとすると「Web ページへのナビゲーションは取り消されました」になってしまいます。「RecIE.INI」を削除してみましたが変わりませんでした。どのようにしたらいいでしょうか?

ちなみに、IE.Navigate("http://www.yahoo.co.jp/")なら正常に動作します。

アドバイスよろしくお願いいたします。

No.616 2014/12/20(Sat) 20:58:33

Re: RecIE開けない / umiumi
ファイアウォールの設定にて RecIE.exeのアクセスが禁止状態なのでは。
No.619 2014/12/21(Sun) 02:41:45

Re: RecIE開けない / Nagatani
ありがとうございました。
ウイルスセキュリティー側でブロックされていました。

No.620 2014/12/21(Sun) 11:28:40
Windows UPDATE KB3025390 / artichoker
Windows UPDATE KB3025390が適用された後、IELinkやIESetdataが動作しなくなってしまったサイトがでてきました。
アンインストールしたところ、正常に動作するようになりました。
なお、すべてのサイトで動かないわけではなく問題なく動作するところもありました。
念のため報告させていただきます。

No.602 2014/12/19(Fri) 14:22:47

Re: Windows UPDATE KB3025390 / umiumi
確認ができません。
環境と確認できるURLの提示をお願いします。

No.611 2014/12/20(Sat) 01:33:02

Re: Windows UPDATE KB3025390 / yanyan
私も、同様な問題が株取引サイト(https)で発生しました。URLは公表できませんが、ログイン後のIELINK障害(IE.navigateも当然ダメ)です。セキュリティー強化のためかと理解し、やむ得ず、CHKIMGによるCLIKに変更しました。20サイト程度にIELINKを使用していますが、発生は1サイトのみです。
No.613 2014/12/20(Sat) 10:17:26
UWSC5.0.4のmonitor関数の戻値がUWSC5.0.3と異なる? / riku
いつもUWSCに助けられています、とても素晴らしいソフトを有難う御座います。

UWSC5.0.4のmonitor関数の戻値がUWSC5.0.3と異なるようになりました
不具合かどうかわかりませんが、念のためご報告させていただきます。

//UWSC5.0.4でidのモニタの位置が正しく取得できなくなりました
// monitor関数の戻値がUWSC5.0.3と異なる?
id = getid("メモ帳", "Notepad", 0.01)
if id = -1 then id = exec("notepad.exe")
n_moni = status(id, st_monitor)
print
print "get_uwsc_ver = "+get_uwsc_ver+", n_moni = "+n_moni
print "<#tab>moni_xywh = "+monitor(n_moni, mon_x)+","+monitor(n_moni, mon_y)+","+monitor(n_moni, mon_width)+","+monitor(n_moni, mon_height)
print "<#tab>win_xywh = "+status(id, st_x)+","+status(id, st_y)+","+status(id, st_width)+","+status(id, st_height)

//UWSC5.0.3→UWSC5.0.4でmonitor関数の戻値が異なる
for n_moni = 0 to monitor()-1
print "n_moni = "+n_moni+", moni_xywh = "+monitor(n_moni, mon_x)+","+monitor(n_moni, mon_y)+","+monitor(n_moni, mon_width)+","+monitor(n_moni, mon_height)
next

No.601 2014/12/19(Fri) 13:19:52

Re: UWSC5.0.4のmonitor関数の戻値がUWSC5.0.3と異なる? / riku
以下が環境と実行結果です。

・環境
 Win Vista, UWSC 5.0.3 Pro, UWSC 5.0.4 Pro, モニタ2台

・実行結果
get_uwsc_ver = 5.03, n_moni = 0
  moni_xywh = 1920,0,1680,1050
  win_xywh = 2290,813,406,179
n_moni = 0, moni_xywh = 1920,0,1680,1050
n_moni = 1, moni_xywh = 0,0,1920,1080

get_uwsc_ver = 5.04, n_moni = 0
  moni_xywh = 0,0,1920,1080
  win_xywh = 2290,813,406,179
n_moni = 0, moni_xywh = 0,0,1920,1080
n_moni = 1, moni_xywh = 1920,0,1680,1050

No.607 2014/12/19(Fri) 23:08:16

Re: UWSC5.0.4のmonitor関数の戻値がUWSC5.0.3と異なる? / riku
何度もすみません、環境を付け加えておきます。

・環境
  Win Vista, UWSC 5.0.3 Pro, UWSC 5.0.4 Pro
  モニタ2台の「コントロール パネル\個人設定」の「画面の設定」のモニタタブの情報
    プライマリ ディスプレイ      番号2
    セカンダリ ディスプレイ 1920,0  番号1

No.608 2014/12/19(Fri) 23:25:36

Re: UWSC5.0.4のmonitor関数の戻値がUWSC5.0.3と異なる? / riku
もしかするとUWSC5.0.4のstatus関数の「st_monitor」の方が、
UWSC5.0.4で修正されたMONITOR関数に対応できていないのかもしれません。

No.609 2014/12/19(Fri) 23:44:54

Re: UWSC5.0.4のmonitor関数の戻値がUWSC5.0.3と異なる? / umiumi
>MONITOR関数にて番号0 がメインモニタでない事があるのを修正
Ver5.0.4にて上記の修正をしましたが
STATUS(ID, ST_MONITOR)関数の対処を忘れてしまいました。
STATUS(ID, ST_MONITOR)側の問題であり修正します。

No.610 2014/12/20(Sat) 01:32:35

Re: UWSC5.0.4のmonitor関数の戻値がUWSC5.0.3と異なる? / riku
開発お疲れ様です、原因がわかって良かったです。
よろしくお願い致します。

No.612 2014/12/20(Sat) 02:11:33
navigateしづらいサイト / むーたん
IE.navigateの遷移が非常に重たかったり、すぐに止まってしまうサイトは他のサイトと何が違うのでしょうか?例えば次の例はbookoffのものです。

Public IE
IE = CreateOLEObj("InternetExplorer.Application")
IE.Visible = True
setOleEvent()

for n=1 to 10
IE.Navigate("http://www.bookoffonline.co.jp/display/L001,p="+n+",bg=1221,st=u,")
BusyWait()
next

このケースではすんなり1〜10まで遷移できます。
でも例えばmixiで同様の処理(ページ数をfor〜loop)すると遷移速度が遅い&ストップする事が頻繁にあります。F5を押したり、「次を表示」など、手動でカバーしてやると動くケースも多いけれど、できれば全部自動にしたいです。

すぐに止まってしまうサイトって何が違うのでしょう?自宅PCからだけでなく、ネカフェをいくつか回って同様の処理をしたけれど、やはりmixiは重たいです。職場の業務用サイトもたまに止まったりしました。
IE.navigateだけでなく、IElinkで「次を表示」とやってもやはりストップしてしまいます。良案ありましたら教えて下さい。

No.569 2014/12/13(Sat) 01:26:38

Re: navigateしづらいサイト / むーたん
環境を書き忘れていました。
IE11、windows8です。
windows7でも止まる事を確認しています。

No.570 2014/12/13(Sat) 10:40:13

Re: navigateしづらいサイト / Nagatani
たぶんで申し訳ありませんがBusyWait()が原因だと思います。
FAQ : IE11にて画面更新後に操作(COM)ができない  #n45
http://www.uwsc.info/faq.html#n45が記載されていますのでご確認ください。


////////////////////////////////
/// BusyWait
  DEF_DLL SendMessageA(Hwnd, Long, Long, Dword): bool: user32//
  CONST WM_ACTIVATE = $06
  Procedure BusyWait()   // 更新待ち処理
Const TIME_OUT = 30
Tm = Gettime()
repeat
FUKIDASI("BusyWait Now ")
Sleep(0.3)
IF GetTime() - Tm > TIME_OUT THEN Exit
UNTIL (! IE.Busy) and (IE.ReadyState=4)
SendMessageA(ie.Hwnd, WM_ACTIVATE, 0, 0) // 更新直後に WM_ACTIVATEを送る事によりバックグランドでも操作可となる
FUKIDASI()
  Fend

///////////////////////////////
Procedure Assert(cmd, line)
if cmd then Exit
Msgbox("Assertion failed at "+line)
ExitExit
Fend

No.574 2014/12/14(Sun) 22:14:49

Re: navigateしづらいサイト / むーたん
>>Nagataniさん
遅くなりまして申し訳ありません。
IE8だったり、11でそれぞれ試しました。
フキダシのお知らせはわかりやすくてありがたいです。
結果としては、正直どうかわからなかったです。
今まで止まってしまう時でも、完全停止ということはあまりなく、数分〜数十分するといつの間にかnavigateしていたことがあり、今回頂いたスクリプトでも分単位の停止はありました。以前よりもスピーディになっているのかもしれないけれど、主観的にはちょっとわかりません。
今回頂いたものを見て、スレッドを使ってみようかと思いつきました。

参考にさせて頂きました。ありがとうございます。

No.605 2014/12/19(Fri) 21:52:08
CHKIMGの座標位置について / koi
気分的な問題が大きいのですが
CHKIMGで画像検出した際に画像ポジションをクリックさせたいのですが
現状は左上座標が返ってくるためそこをクリックさせています
できればこれを画像の中心位置をクリックさせるようにしたいのですが
検索画像の画像サイズが分からないといった理由からそれが実現できずにいます
(複数の検索を行っていてそれぞれ画像サイズが異なります)

ヘルプなどで見ている限り簡単に取得する方法がなさそうに感じているのですが
見落としているだけで実は方法があるでしょうか?
(別途API使ってサイズ調べるとかいうのは無しで)


要望として
G_IMG_XWやG_IMG_YW みたいな変数追加できないでしょうか

No.604 2014/12/19(Fri) 17:21:14
フォームデータの内容を取得したい / 釣る野草
<input type="text" size="30" value="読み込み">

上のソースの"読み込み"を取得したいです
どうすればいいでしょうか?

No.599 2014/12/18(Thu) 18:04:35

Re: フォームデータの内容を取得したい / stuncloud
// typeがtextでsizeが30のinput要素を取得
e = ie.document.querySelector("input[type=<#DBL>text<#DBL>][size=<#DBL>30<#DBL>]")
msgbox(e.value)

No.603 2014/12/19(Fri) 14:55:43
UWSC ver 5.0.4 / umiumi
CHKIMG関数にてアプリ最大化でバックグランド時に位置が8ドットずれるパターンを修正
COMの関数の使用にて空文字を使用した時にエラーが出るパターンがあるのを修正
MONITOR関数にて番号0 がメインモニタでない事があるのを修正
POWERSHELL関数にて戻り値にBOM(文字コード)が付加された場合に BOMを削除
Chromeブラウザに対しSENDSTR関数が不可になっていたのに対処
Pro版:
XLSETDATA関数にて文字色、セル色の指定を出来るようにした
XLOPEN関数にてExcel起動済み状態でパスワード付きファイルを開くとダイアログが出るのを修正
Debugger: オープンダイアログにて引数にパスを指定するとエラーになるのを修正
Debugger: クロスリファレンスにてエラーの出るパターンの修正
RecIE: ファイル選択ダイアログの記録がされないパターンがあるのを修正
Uws2Exe: BMPの取り込みにて 一行に2つ以上のCHKIMGがある場合に 2つ目以降がNGなのを修正

No.577 2014/12/15(Mon) 01:18:30

掲示板検索(過去ログ(〜2014/12/07)・検索ツール) / umiumi
クリック行に色を付けるようにした
html/textファイルをフォルダー下に移した
モニター幅が1500以下の場合にはそれにIEの幅を合わせる
〜2014/12/07迄の過去ログ収録

No.578 2014/12/15(Mon) 01:19:55

Re: UWSC ver 5.0.4 / s
CHKIMG関数に一致率を指定できるようにしてもらえると助かります。
グラボやOSを変更するたびに使えなくなってしまうので(´・ω・`)

現在の
戻値 = CHKIMG( 画像名, [透過色/色無視, x1, y1, x2, y2, 番号, 色幅] )
から
戻値 = CHKIMG( 画像名, [透過色/色無視, x1, y1, x2, y2, 番号, 色幅, 一致率] )

デフォルト100%で任意に変えられるようになると嬉しいです。

No.579 2014/12/15(Mon) 13:08:13

Re: UWSC ver 5.0.4 / satocha
powershell関数への迅速な対応ありがとうございました。

たびたびpowershell絡みで恐縮なのですが、powershell関数に渡る文字列中のバックスラッシュ(円マーク)についてご教示願います。

次のテストプログラムで下のように表示されるのですが、どうしてこのような結果になるのかよく理解できません。

どうやら文字列先頭や文字列内ではただの文字として作用し、文字列末尾では何かエスケープシケンスのように働いているような気がしますが、そのような理解でよろしいでしょうか。

<テストプログラム>
str=powershell(src1)+powershell(src2)+powershell(src3)
sendstr(0,str)
msgbox(str)

textblock src1
"\ab\c\"+"def"+"\"+"ghi\"
endtextblock
textblock src2
"\ab\c\"+"def"+"\\"+"ghi\"
endtextblock
textblock src3
"\ab\c\"+"def"+"\\\"+"ghi\"
endtextblock

<表示>
\ab\cdefghi
文字列に終端記号 " がありません。
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordEx
ception
+ FullyQualifiedErrorId : TerminatorExpectedAtEndOfString

\ab\cdef\ghi

<powershellコンソールでの表示>
PS> "\ab\c\"+"def"+"\"+"ghi\"
\ab\c\def\ghi\
PS> "\ab\c\"+"def"+"\\"+"ghi\"
\ab\c\def\\ghi\
PS> "\ab\c\"+"def"+"\\\"+"ghi\"
\ab\c\def\\\ghi\

No.583 2014/12/16(Tue) 15:18:20

Re: UWSC ver 5.0.4 / umiumi
'シングルクォートでくくってください。
"ダブルクォートの場合だと エスケープシーケンスが働いてしまいます。

No.586 2014/12/16(Tue) 22:35:31

Re: UWSC ver 5.0.4 / しゅん
PowerShellのスクリプトをエスケープしているのは、おそらくシェルですね。
この方法ではUWSCではどうしようもないかと思います。
どうしてもダブルクォートを使いたいなら、-EncodedCommandを使えば良いと思います。
---
TEXTBLOCK _src
"\ab\c\"+"def"+"\"+"ghi\"
ENDTEXTBLOCK

//PRINT _src
//PRINT POWERSHELL(_src)

// COM使用
DIM dom = CreateOleObj("Microsoft.XMLDOM"), binMan = dom.createElement("tmp")
binMan.dataType = "bin.base64"
binMan.nodeTypedValue = ENCODE(_src, CODE_BYTEARRAYW)
PRINT binMan.text
PRINT POWERSHELL("powershell -EncodedCommand " + binMan.text)

// crypt32.dll使用
DEF_DLL CryptBinaryToStringW(wstring,DWORD,DWORD,var wstring,var DWORD): BOOL: crypt32
CONST BASE64_NOCRLF = $40000001
DIM blen = 0, len = LENGTH(_src) * 2 // サロゲートペアも大丈夫、、、なので長さの2倍Byte
IFB CryptBinaryToStringW(_src, len, BASE64_NOCRLF, NULL, blen) THEN
  DIM buf = FORMAT(CHR(0), blen)
  IFB CryptBinaryToStringW(_src, len, BASE64_NOCRLF, buf, blen) THEN
    PRINT buf
    PRINT POWERSHELL("powershell -EncodedCommand " + buf)
  ELSE
    PRINT "Conv Error"
  ENDIF
ELSE
  PRINT "len Error"
ENDIF
---


umiumiさんへ
内部で-EncodedCommandにしてみてはどうでしょうか?
また、今回気づいたのですが、サロゲートペア文字をLENGTHにかけると、2文字となります。
今回はそれで良いのですが、これは現時点で仕様と思って良いでしょうか?

No.594 2014/12/17(Wed) 22:31:46

Re: UWSC ver 5.0.4 / satocha
しゅん様 

-EncodedCommand の情報と丁寧なコードのご教示、大変ありがとうございました。

二重引用符のエスケープシーケンス問題は、既存のPS1スクリプトを他端末でセキュリティポリシー変更なしに実行する方法を模索する中で出てきたものでした。

おかげさまで、下記の関数を作ることで解決できました。

<"test.ps1">
"\ab\c\"+"def"+"\"+"ghi\"
"\ab\c\"+"def"+"\\"+"ghi\"
"\ab\c\"+"def"+"\\\"+"ghi\"

<"ExecPs1.uws">
msgbox(ExecPs1( "test.ps1" ))

function ExecPs1( ps1 )
   result =powershell( replace( src, "##PS1##", "<#dbl>"+ps1+"<#dbl>" ) )
textblock src
$encoded= [Convert]::ToBase64String([System.Text.Encoding]::Unicode.GetBytes((gc ##PS1## ) -join "`r`n"))
powershell -EncodedCommand $encoded
endtextblock
fend

No.596 2014/12/18(Thu) 07:32:55

Re: UWSC ver 5.0.4 / umiumi
>内部で-EncodedCommandにしてみてはどうでしょうか?
考慮します。

>サロゲートペア文字をLENGTHにかけると、2文字となります。
対処を考慮します。

No.600 2014/12/19(Fri) 01:14:38
全832件 [ ページ : << 1 ... 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 ... 84 >> ]