CLKITEMのマウスカーソル移動について

CLKITEMを使って、3番目のアイテムにマウスカーソルを置く コードについて教えてください。 ———————— wid = GETID(GET_ACTIVE_WIN) CLKITEM(wid, アイテム名, CLK_ACC or CLK_MUSMOVE, FALSE, FALSE, 3) ———————— 上記のアイテム名を指定する際に、 value値(キャプションの文字)ならマウス移動できるのですが、 input type値(“radio”や”checkbox”)ではできません。 何か良い方法はないのでしょうか?

タグ

2016年2月27日 | コメントは受け付けていません。 |

カテゴリー:掲示板

Excel 空白セルの判定がうまくいかない

こんにちは。UWSCで、Excelのセルにデータが入っているか判定するプログラムを書こうと思っています。 ExcelのSheet1のA1に何らかの文字列が入っていれば、処理を行うといった事をしたいのですが、下記のコードだとうまく動きません。 A1に文字列が入っていないにも関わらず、IF文がTRUEになってしまい、DO SOMETHINGを実行してしまいます。 下記のコードを試したのですが、ダメでした。 ☓ LENGTH(.Range(“A” + “1″)) “” ☓ LENGTH(.Range(“A” + “1″)) 0 ☓ .Range(“A” + “1″) “” ☓ .Range(“A” + “1″) EMPTY ☓ .Range(“A” + “1″) NOTHING ☓ .Range(“A” + “1″) NULL EXCEL = GETACTIVEOLEOBJ(“Excel.Application”) WB = EXCEL.WorkBooks(“myFile.xlsx”) With WB.WorkSheets(“sheet1″) if LENGTH(.Range(“A” + “1″)) “” then //Do SOMETHING endif EndWith どのようにすれば解決できますでしょうか?UWSCの問題というよりは、Excelの問題のような気もしますが・・・ お手数おかけします。よろしくお願いいたします。

タグ

2016年1月15日 | コメントは受け付けていません。 |

カテゴリー:掲示板

アマゾンの検索結果の並べ替え条件の変更の仕方について

アマゾンの検索結果の並べ替え条件を変えたいのですが、うまく出来ずに困っています。

例)URL : http://www.amazon.co.jp/s/ref=sr_pg_1?rh=n%3A561958%2Ck%3Advd&keywords=dvd&ie=UTF8&qid=1452480712&lo=dvd

処理としては、下記のことをしています。

//サンプルコードここから
IE = CreateOLEObj(“InternetExplorer.Application”)

IE.Visible = True

IE.Navigate(“http://www.amazon.co.jp/s/ref=sr_pg_1?rh=n%3A561958%2Ck%3Advd&keywords=dvd&ie=UTF8&qid=1452480712&lo=dvd”)

BusyWait(IE)

doc = IE.Document

for k=0 to doc.forms(3).elements.length-1
    ifb (pos(“select-one”,doc.forms(3).elements(k).type)0)
        break
    endif
next

//おすすめ順を選択したい場合
doc.forms(3).elements(k).selectedIndex = 1
doc.forms(3).submit

Procedure BusyWait(ie)
Sleep(0.5); repeat; Sleep(0.2); until (! ie.busy) and (ie.readyState=4); Sleep(0.5)
Fend
//サンプルコードここまで

上記の処理で、並べ替え条件の表示は「おすすめ順」に変わるのですが、実際にはおすすめ順には並べ替えがされません。
doc.forms(3).submit は、あってもなくても結果は変わりませんでした。
何か処理が足りないのだと思うのですが、そこが分かりません。

OSはWindows7 Professional 64bit、IEのバージョンは11.0.9600.18124です。

どなたか分かる方がいらっしゃったら、ご教示いただければ幸いです。

よろしくお願いいたします。

タグ

2016年1月11日 | コメント/トラックバック(1) |

カテゴリー:掲示板

エクセルの特定行を削除するにはどうしたらいいのでしょうか

いつもお世話になってます かなり初歩的な質問ですが、スクリプトを使ってエクセルの特定なセル、または特定な行を削除するには、どんな命令を使用したらいいのでしょうか サイト内で検索してもヒットしませんでしたので、 こちら質問させて頂きました、ご教示よろしくお願いします

タグ

2015年10月20日 | コメント/トラックバック(1) |

カテゴリー:掲示板

楽天証券 RSS再接続

お世話になります。楽天証券MarketSpeedを利用しているのですが 時々『サーバーから切断されました』となります。 AMSなるフリーソフトのショートカットをクリックすれば再接続できるのですが、UWSCを使用して自動化は可能ですか。 純個人的な、質問で、初歩なことで恥ずかしいのですが、何方かご教授いただければ助かります。できるだけド素人にわかるように教えていただければ。 よろしくお願いします。

タグ

2015年4月24日 | コメントは受け付けていません。 |

カテゴリー:掲示板

GETITEMでリストビューが取得できない

お世話になってます。

あるアプリのリストビュー情報を取得したく
GETITEMを使おうとしました。

もしかしたらLISTBOXなのかもしれないですが…

リストビューは、2列になっており
情報取得が上手く出来ない状況です。

見た目は、Excelで2列にリストビューを作ったときと
同じです。
1列目の情報は取れますが、2列目が重要です。

試してみるべきこと等ありましたらお願いします。

タグ

2015年4月8日 | コメント/トラックバック(2) |

カテゴリー:掲示板

SHIFTを押しながらドラッグした座標を取得したい

SHIFTを押しながらドラッグした座標を取得したいです。

WHILE GETKEYSTATE(VK_VK_SHIFT)
 IFB GETKEYSTATE(VK_LBUTTON) // マウス左クリック
   
 ENDIF
WEND

途中まで考えましたが、これだと
ずっとデータを取得してしまいます。
始点、終点のみ取得したいのですが良い方法ありませんか?

タグ

2015年4月1日 | コメント/トラックバック(1) |

カテゴリー:掲示板

Excelファイル内のsubプロシージャをUWSCから実行する?

こんばんは,よろしくお願いします。
Excelのファイル(例えば,AAAA.xlsm)に保存されているsubプロシージャやfunctionプロシージャを,UWSCから実行する事は出来ますでしょうか?

あるExcelファイルのプロシージャから,別のExcelファイルのプロシージャを実行することは,
まず,AAAA.xlsmを開いて,アクティヴにし,
 Application.Run “‘AAAA.xlsm’!Module1.BBBB”
などとする事によって,AAAA.xlsmというファイルの,Module1という標準モジュールのBBBBというsubプロシージャを実行することが出来ますが, 同様のことは,UWSCからでも出来るのでしょうか?
是非,ご解説いただきたくお願い申し上げます。

なぜ,このような事をしたいのかといいますと,日々生じるあるデータを収集し,分析をするという作業を,ExcelVBAを使って行っていると思ってください。
分析をする各プログラムは,それぞれ,別々のファイルに保存されています。これらのファイルのすべてに,それぞれ膨大な日々のデータを持たせる事は,無駄ですし,同一のデータで,それぞれの分析を行いたいのに,使用するデータが分析ファイルごとに違っていては都合が悪いのです。ファイルごとに新しい物もあれば古い物もあるというのでは困ります。
いつも,どの分析を行う時にでも,使用するデータは同一かつ最新の物であってほしい訳です。そこで,現在は,それぞれの,分析プログラムを実行する際に,同一の情報収集用のExcelファイルを開き,情報を最新の物に更新・保存するようにしています。この際に,分析用のExcelファイルから,情報収集用のExcelファイルのプロシージャを実行する必要があるのです。状況をご理解いただけましたでしょうか?
どうかご解説よろしくお願いいたします。

タグ

2015年1月28日 | コメント/トラックバック(1) |

カテゴリー:掲示板

DLLの戻り値

カレンダーの座標処理の関数をDLL化して それを呼び出そうとしていますが、 戻り値の定義が間違っているとメッセージが返ってきます。 DEF_DLL SetCalenderPos(string,int):int[1]:.\Calender\CalenderCalclator.dll でDLLを定義し、 PRINT SetCalenderPos(“20141010″,1)[0] で値を取得しようとしましたが、ダメでした。 DLLの関数の値を配列で受け取るにはどうしたらよいでしょうか。

タグ

2014年10月2日 | コメントは受け付けていません。 |

カテゴリー:掲示板

IEの画面更新完了待ちと表示値の取得

2006年、POSACCでの文字列の取得を使って以来、新たな取り組みはなく、暫くUWSCとは縁がありませんでしたが、他に手段を思いつかない事案が発生し、お力をお借りしたいと思います。 やりたいこと クラウドで運用するデーターエントリーで、行を動的に追加する
操作について、Excelの一覧表から登録できる様自動化したい。 行追加の手順は、 1. 追加する行数分の入力枠追加ボタンの押下を繰り返す 2. 追加された入力枠に、Excel表から商品、数量を転記する やってみたこと (UWSCで扱えるブラウザとしてIEを選択しましたがバージョンは11) 行追加ボタン押下を記録し、動作確認。 記録によるため、1行追加毎の完了確認は考慮されていないので、よく使われているIE待ち合わせ関数を用意して同期を試す。
		
	IE = CreateOLEObj("InternetExplorer.Application") 		
	IE.Visible = True 		
	print IE.readyState        // 結果は0		
	sleep(2)		
	print IE.readyState        // 結果は0		
	for 追加回数 = 1 to 10		
	    msgbox(追加回数)		
	    CLKITEM(導入連絡ID, "行追加", CLK_ACC)		
	    ie_wait(IE)		
	next		
	procedure ie_wait( IE )		
	  repeat		
	    sleep( 0.1 )		
	    print IE.busy            // 結果はfalse		
	    print IE.readyState      // 結果は0		
	  until ( ! IE.busy ) and ( IE.readyState = 4 )     // Loopを抜けられません		
	  sleep( 0.2 )		
	fend		
	
ここで、待ち合わせが解けないという問題が発生 IE.busy と IE.readyState の状態をトレースすると、オブジェクト定義以後、IE.readyStateが常に0であることが直接の原因 IEの設定かアプリの問題か手に負えないと判断し、別のアプローチを検討 (ネット上のサンプルコードでも同じ結果なので、スペル違いとかの問題ではないと思います。IE11で非互換が発生しているという記事も気になります。) 別のアプローチ 画面の固定された位置に表示されている「行数」が変わったことを検知して待ちが解けたと判断する 「行数」は「件数」という文字に続いて表示されます 「行数」を特定する識別子を調べて値を取得する方法が望ましいけれど、識別子の調べ方が不明なので、「件数」という文字列の位置情報から、後続する値を取得できないかネットでいろいろ調べて、「.document.forms・・・」など試してはみましたが、いずれも空白が取得されるばかりです ここで、これ以上、独力での進展は無理と判断しました。 教示いただきたいこと 1. 上記、IEの完了待ちを機能させるヒントはないでしょうか 2. 行数を取得する有効な手段は何でしょうか 以上、よろしくお願いいたします。

タグ

2014年8月15日 | コメント/トラックバック(1) |

カテゴリー:掲示板

このページの先頭へ