[ 掲示板に戻る ]

過去ログ閲覧モード

saveimgで保存したbmp画像がchkimgでfalseになる / saveimgくん
uwsc開発ありがとうございます。
シェアウェア版購入して良かったです。

題名の通りなのですが、
SAVEIMGで保存した画像をCHKIMGで確認するとfalseになります。
これは仕方がないのでしょうか?

No.361 2014/11/04(Tue) 16:03:56

Re: saveimgで保存したbmp画像がchkimgでfalseになる / umiumi
状況によりけりでしょう。
ゲームなどでは難しいパターンもあるでしょう。

No.372 2014/11/06(Thu) 01:20:00
(No Subject) / test
マウス右ボタンが押されてる間右クリック連打というスクリプトを書きたいのですが
GetKeystateはあってもそれのマウスボタン版の関数がないようですが実現可能ですか?

No.370 2014/11/05(Wed) 14:11:49

Re: / stuncloud
>マウス右ボタンが押されてる間右クリック連打
だと実現が難しそうだったので中央ボタン押しこみ中に右クリック連打に変更しました

while TRUE
 fukidasi("右ボタン連打中")
 while getkeystate(VK_MBUTTON)
  btn(RIGHT, CLICK)
  sleep(0.05)
 wend
 fukidasi("中央ボタン押すと右ボタン連打")
 repeat
  sleep(0.05)
 until getkeystate(VK_MBUTTON)
wend

btn(RIGHT, CLICK) や btn(RIGHT, UP) でgetkeystate(VK_RBUTTON)がfalseになっちゃうので
>マウス右ボタンが押されてる間右クリック連打
は実に悩ましい…実際できるんですかね?手段が思いつきません

No.371 2014/11/05(Wed) 17:37:41
ダブルクリック / kazita
こちらのサイトにあるサンプルなのですが
これを ドロップではなく、ダブルクリックに変えるにはどうしたらよいでしょうか。
理由は別の編集ソフトで試してみたところ、ドロップでは画像が表示されないためです。

folder = "C:\Users\xxxx\Pictures"
paintID = exec("mspaint.exe") // ペイントの起動
n = GETDIR(folder, "*.jpg") // jpgファイル名の取得
for i = 0 to n-1
file = GETDIR_FILES[i]
DROPFILE(paintID, folder, file) // 1つずつドロップ
Balloon((i+1)+"/"+n+": " +file)
sleep(5) // 5秒単位で次へ
next
よろしくお願いいたします。

No.365 2014/11/04(Tue) 19:43:18

Re: ダブルクリック / stuncloud
ダブルクリックということは、画像ファイルはその「別の編集ソフト」に関連付けしてあるということでよいでしょうか?
そうであれば

folder = "C:\Users\xxxx\Pictures"
for file in getdir(folder, "*.jpg")
 doscmd("<#DBL>" + folder + "\" + file + "<#DBL>", TRUE)
 sleep(2)
next

で、開けるかと思います

あるいはdoscmdのところを
exec("<#DBL>C:\Program Files\編集ソフト\EXE名.exe<#DBL> <#DBL>" + folder + "\" + file + "<#DBL>")
として対象ソフトにファイル名を渡すようにするとか

No.368 2014/11/05(Wed) 11:04:05

Re: ダブルクリック / kazita
ありがとうございました。
とてもわかりやすくご提示していただき感謝いたします。

No.369 2014/11/05(Wed) 13:10:00
文字を自動でクリック / 吾妻
昨日初めて「UWSC」の存在を知ったど素人の質問をお許しください。

自動でyahooにアクセスし
「ヤフオク」という文字を自動でクリック
という作業を自動化したいのですが

IE = CreateOleObj("InternetExplorer.Application")
IE.visible = True
IE.Navigate("http://www.yahoo.co.jp/")

でサイトにアクセスできるのはわかったのですが、
「ヤフオク」という文字(画像ではありません。テキストでリンクされていものです)
を自動でクリックさせる方法で詰まっております。
どうかご教授いただけないでしょうか?

No.348 2014/11/02(Sun) 15:07:31

Re: 文字を自動でクリック / センチ
IELINK( IE, "ヤフオク")

でどうでしょうか?

No.351 2014/11/03(Mon) 01:18:01

Re: 文字を自動でクリック / 吾妻
センチ様
非常にシンプルでわかりやすく助かりました。


ひとつ問題が生じました。
スクロールしないと、表示されない場合、
クリック対象となる文字の検索範囲をしていするか
自動でスクロールすることは可能でしょうか?

画像をクリックする場合、CHKIMGなどの場合は、範囲が指定できるようですが、
文字の場合もできるのでしょうか?

No.356 2014/11/03(Mon) 22:48:02

Re: 文字を自動でクリック / umiumi
IELINK関数はスクロール外でも処理できます。
画面更新待ちの処理を入れていないのでは。
IELINKの前に画面更新待ちの処理を入れてください。
repeat
 Sleep(0.2)
until (! ie.busy) and (ie.readyState=4)

No.359 2014/11/04(Tue) 00:56:13

Re: 文字を自動でクリック / 吾妻
umiumi様

本当にありがとうございました。
最高です。
UWSCに出会えてよかったです!

これからは、自分で勉強していきたいと思いますが
地道な勉強となりますので、
なにかとお世話になると思いますが、
その節は、なにとぞよろしくお願いいたします。

No.360 2014/11/04(Tue) 11:41:25
フォームの取得 / 初心者を脱したい
EXCEL2010です。

VBAのAuto_openイベントで開かれるユーザフォームを取得したいのですが
できません。

Auto_OpenイベントはUWSCで無視されるようなので、

EX = CreateObejct("Excel.Application")
EX.Visible = True
EX.WorkBooks.Open("Auto_OpenでUseForm1が開くファイル.xlsm")
EX.run("Auto_Open")

と呼び出して、ユーザフォームが開くところまでは確認しています。

ただ、このユーザフォームがGETID関数で取得できないのです。
キャプションの文字列は合っているはずです。


ユーザフォームのプロパティ等の影響で取得できない場合があるのでしょうか?
もしそうであれば、解決策をご教授願いたいです。

No.346 2014/11/02(Sun) 03:04:47

Re: フォームの取得 / 初心者を脱したい
umiumi様
お願いします(_ _)

No.349 2014/11/02(Sun) 22:43:14

Re: フォームの取得 / umiumi

当方では特に問題を確認できません。
全てのウィンドウを表示して確認してみたらどうですか。
for n=0 to GETALLWIN()-1
 print STATUS(ALL_WIN_ID[n], ST_TITLE) +","+ STATUS(ALL_WIN_ID[n], ST_CLASS)
next

No.358 2014/11/04(Tue) 00:52:33
PUBLIC変数について / センチ
PUBLIC変数について質問があります。


If FALSE then PUBLIC n = 0

このようなスクリプトを実行すると、以下のようなエラーメッセージが表示されます。

正しくない変数名です: PUBLIC N 1行目: IF FALSE THEN PUBLIC N = 0


また、以下のようなスクリプトを実行すると、逆にエラーメッセージが表示されません。
IfB FALSE
PUBLIC n = 1
MsgBox("")
EndIf
n = n + 1
MsgBox(n)


これは仕様でしょうか?

No.350 2014/11/03(Mon) 01:13:45

Re: PUBLIC変数について / umiumi
仕様です。
No.357 2014/11/04(Tue) 00:51:09
UWSファイルの新規作成 / YMK
拡張子uwsのファイルを作ることが多いので、
Windowsの右クリックメニューの新規作成に空のuwsファイルを追加したいんですが、上手くいきません。

Regeditで「HKEY_CLASSES_ROOT\.uws」配下に「ShellNew」キーを追加して、
文字列「NullFile」を作成しました。

XP時代はこれで拡張子uwsの新規作成ファイルが出来たのですが、Win8.1では出来ませんでした

No.354 2014/11/03(Mon) 13:04:57

Re: UWSファイルの新規作成 / stuncloud
サインアウトや再起動を何度かしてるとそのうち出来るようになったりしますね、なんですぐに出来ないのかよくわかんないですけど
No.355 2014/11/03(Mon) 19:48:43
マルチモニタ情報について / しろまさ
コントロール パネル\すべてのコントロール パネル項目\ディスプレイ\画面の解像度  で設定確認。
左?A X=-1280 Y=0 W=1280 H=1024
右?@ X=0 Y=0 W=1366 H=768
右?@のほうに「このディスプレイが現在メイン ディスプレイです」と表示されています。

> モニタ番号: モニタ番号を指定 (メインモニタは 0)
とuwscヘルプには書いてありますが、
私の環境では 0 で取得できるのは、左?Aのサブディスプレイの情報となっております。

メインモニタはどのように判断されているのでしょうか?
或いはどうすれば、コンパネ情報のメイン ディスプレイを判断して
正しい情報を取得することができるでしょうか?

Print " X=" + MONITOR(0, MON_X) _
  + " Y=" + MONITOR(0, MON_Y) _
  + " W=" + MONITOR(0, MON_WIDTH) _
  + " H=" + MONITOR(0, MON_HEIGHT) _
  + "<#CR>" _
  + " X=" + MONITOR(1, MON_X) _
  + " Y=" + MONITOR(1, MON_Y) _
  + " W=" + MONITOR(1, MON_WIDTH) _
  + " H=" + MONITOR(1, MON_HEIGHT)

No.340 2014/10/30(Thu) 16:27:14

Re: マルチモニタ情報について / umiumi
MONITOR(モニタ番号, MON_PRIMARY)
にて True が返されるのがメインモニタです。これで確認して見てください。
環境により メインモニタ=0 ではないかも?

No.345 2014/10/31(Fri) 22:47:17

Re: マルチモニタ情報について / しろまさ
ご返答ありがとうございます。
月曜になったら会社のPCにて確認致します。

No.347 2014/11/02(Sun) 14:11:18

Re: マルチモニタ情報について / しろまさ
MONITOR(1, MON_PRIMARY) にてTRUEが返されました。
これで即座にメインモニタ判断・操作が出来そうです。
ありがとうございました。

No.352 2014/11/03(Mon) 11:07:15
SELECT に与えた式の値を保持した変数が欲しい。 / しろまさ
umiumiさんにちょっとした要望です。(可能であれば)
例えば、変数が SELDAT として、こんな使い方がしたいです。

Dim List[] = "a","b","c"
SELECT POPUPMENU(List)
  CASE -1; MSGBOX("未選択でした"); Exit
  DEFAULT; MSGBOX(List[SELDAT] + "が選択されました")
SELEND

No.328 2014/10/27(Mon) 17:09:28

Re: SELECT に与えた式の値を保持した変数が欲しい。 / 森
先に変数で受けておくというのではダメなんでしょうか?

Dim List[] = "a","b","c"
SELDAT = POPUPMENU(List)
SELECT SELDAT
  CASE -1; MSGBOX("未選択でした"); Exit
  DEFAULT; MSGBOX(List[SELDAT] + "が選択されました")
SELEND

No.329 2014/10/27(Mon) 21:30:57

Re: SELECT に与えた式の値を保持した変数が欲しい。 / stuncloud
これは僕もときどき欲しいと思うことがあります
>先に変数で受けておくというのではダメなんでしょうか?
まったくもってその通りなんですが、その手間を惜しみたいことがままあるんですよねー…
(なんかダメっぽいことを言ってる自覚は、あります)

SELECT POPUPMENU(List) AS SELDAT
とかだとわかりやすくていいですかね (asで意味通るかな?)

No.332 2014/10/28(Tue) 17:48:42

Re: SELECT に与えた式の値を保持した変数が欲しい。 / しろまさ
> 先に変数で受けておくというのではダメなんでしょうか?
いえ、それが現時点の使用法なのは前提ですよね。

> これは僕もときどき欲しいと思うことがあります
管理上なるべく短く、なるべく見やすく作りたいですよね。大量のModuleをクロス利用させてるとなおさらです。

CASE で値判断してるから内部的にあるんだろうなーという推測で、Public的にして欲しいという要望です。

No.336 2014/10/29(Wed) 09:34:23

Re: SELECT に与えた式の値を保持した変数が欲しい。 / しゅん
// 言語を作成した経験から推測すると、、、ちょっと面倒じゃないかなー、と思ったり。
// 現状では、こんな感じでしょうか。
// 最初関数名をTeeとかにしてましたが、見えない方が良さそうなのでこうしました。

Dim seldat
Dim List[] = "a","b","c"
SELECT '(POPUPMENU(List), seldat)
  CASE -1; MSGBOX("未選択でした"); Exit
  DEFAULT; MSGBOX(List[SELDAT] + "が選択されました")
SELEND


FUNCTION '(r, var o)
  RESULT = r
  o = r
FEND

No.342 2014/10/30(Thu) 23:50:11

Re: SELECT に与えた式の値を保持した変数が欲しい。 / しろまさ
あ、面倒なんですか?ならいいです^^
言語作成の苦労は解りませんし、一行増やせばいいだけですので。
参考コード、ありがとうございました。

No.344 2014/10/31(Fri) 07:58:11
リストボックスの選択 / Nagatani
いつもお世話になります。
楽天市場にある「リストボックス」の並び替えですが「感想が多い」「商品評価が高い」「価格が安い」「価格が高い」とあるうち、「価格が安い」を選択したいのですが下記の式では繰り返し処理をした場合、「感想が多い」と「価格が安い」を交互に選択されてしまいます。

IESetData(IE,"価格が安い","","id=sortSelectDropBox")

2回に1回IESETDATAを考えましたが「価格が安い」「感想が多い」もどちらから始まるか判断できず困っています。また、プロ版のRecIEを使いましたが同様になります。
これからどのフラグが立っているかを判断する方法を考えますが何かアドバイスがあればよろしくお願いいたします。

No.330 2014/10/28(Tue) 00:01:31

Re: リストボックスの選択 / Nagatani
お疲れ様です!ダウンロードしたBODYを読んでいたら
IESetdata(IE,"価格が安い","","Id=sortSelectDropBox")のidが
id="sortSelectDropBoxになっていました!
そこで、id=<#dbl>sortSelectDropBoxに変えたところ安定しました!
プロ版のrecを使って上記式で対応したのですが頭についてた、ACC??の
意味がわからず勝手に外した罰でしょうか?
ありがとうございました!

No.331 2014/10/28(Tue) 11:32:46

Re: リストボックスの選択 / Nagatani
やはり甘かったようです!
IESetdata(IE,"価格が安い","","Id=sortSelectDropBox")でも
Assert(IESetData(IE,"価格が安い","","id=sortSelectDropBox"),17)でも
症状は同じで「価格が安い」になっているときは「感想が多い」を選択して
しまいます。逆に「感想が多い」になっていれば「価格が安い」になります。

環境は「Windows7」「Pro5.0.3.0」「IE11.0.13」

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

No.333 2014/10/28(Tue) 23:09:25

Re: リストボックスの選択 / Nagatani
お疲れ様です。最終的には下記のようにDropBoxに何がセットされているかを見て
Assert(IESetData(IE,"価格が安い","","id=sortSelectDropBox"),17)を使うかどうか
判断いたしました。
//価格が安いを選択
HEAD = BETWEENSTR(BODY,"selected=<#DBL><#DBL>>","</option>")
IF HEAD <> "価格が安い" THEN
Assert(IESetData(IE,"価格が安い","","id=sortSelectDropBox"),17) // SELECT-ONE
BusyWait(IE)
SLEEP(2)
ENDIF
ほかにいい方法があればアドバイスをよろしくお願いいたします。

No.334 2014/10/29(Wed) 00:07:23
全1170件 [ ページ : << 1 ... 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 ... 117 >> ]