社会不安障害:SAD、ボランティアとセカンドライフ

SADで会社を休職したが、一年で復帰し、無事定年を務めて、その後の生活とボランティアについて気ままに掲載中

その後のUWSC

2009-08-26 08:55:28 | ITについて

新システムの自動実行プログラムその1指定フォルダーのファイル・フォルダーの削除(DOSのバッチファイル)でも掲載しているが、業務の合間をぬって内職がてら、UWSCでのスクリプトで何とか手抜きと言うか効率化を図れないかと試行錯誤している。指定フォルダーのファイル・フォルダーの削除(DOSのバッチファイル)で一つ片付けたが、次々に襲い掛かる、私の本業以外への対応は、嬉しくもあるが、自分の首を絞めかねない状況となりつつある。

我々が効率的に使えるシステムがすぐできるとは、思えない為、何とかしたいが、最近は業務に毎日追われてしまっている。PCを趣味とする先輩もいるが、その先輩が逆に皆に私をPRするわけで、結局今は対処できない事で、我慢して貰っている。かと言って親会社の元IT担当を呼ぶわけにも行かない為、私もジレンマに悩まされているが、最後は本来の仕事ではないと蹴ってしまえばよいのだが・・・。本来は既に100人近い規模になった会社に、若い担当者を作りたいが、専任を置くことはなかなかむづかしいと思う。

今週も後半2日は急遽ヘルプが有ったWeb作成の為の打ち合わせが入り、また時間がつぶれてしまう。などと愚痴を言っても仕方がない。

さて、かなりUWSCの便利さと難しさと言うか癖が徐々にわかって来た。もともとこのUWSCを知ったのは、出向先の会社を昨年10月に設立したが、その立ち上げに伴い、自分ひとりではとても処理できない事から、早めに当時の上司にヘルプを依頼し、元IT担当者に協力を依頼した事で、その彼が、当社標準のOSのパッチ当てやウィルスソフト他の標準ソフトやネットワークの設定等に、自動実行する為にこのソフトを使ったからである。

最もその彼も、最初からUWSCを知っていたわけではなく、工場で使われていた方がおり、その方に教えてもらって使ったとの事であるが、既にこのUWSCを工場で使える人はいなくなったらしい。その彼も私の依頼でこのUWSCを使用してのプログラムの作成と検証に1週間以上掛かっていた。

先日、その彼が心配して、彼が知っている今の内に、UWSCについて当時の実行プログラムとそのやり方をメールして来たが、既に私の方が先に進んでしまった様な気がしている。つまりUWSCのバージョンが彼の使ったものがかなり古い。最も彼の方が何処まで知っているのか今だ分からないが・・・。

今回やろうとしているUWSCのスクリプトファイルの目的は、彼のおそらく予想を超えるものだと思う。この辺の説明は実際に目の前で見せて説明しないと難しい。

新システムの自動実行プログラムその1で掲載した最大の課題は、UWSCのスクリプトで、変数による文字や数値の入力がうまく出来ない事だった。いろいろ試しているうちに、大体やり方がわかって来た。つまり、元のプログラム、つまりコントロールするプログラムのテキスト領域と言うかエディット領域と言うか、そのフォームの作り方によるようである。

つまり、UWSCのSENDSTR関数のみを使ってスマートに済ませたかったが、プログラムの便利性や制限を加えている事等から、スマートな関数だけで処理する事がなかなか出来ない事がわかって来た。ここ数日で分かった事をまとめるとおおよそ以下のようになる。

現象というか課題 解決策

文字表示(入力)のタイミング(ウエイト時間)がかなりシビアである。

つまり、プルダウンメニュー選択後の大きな入力画面などの表示には、ウエイト時間を入れないと、文字入力を取りこぼす(途中で入力文字が飛んでしまう)。

おそらくcpuや画面のキャッシュ状況にもよると思われるが、一回メニュー表示でダメでも再度実行するとチャンと入力される。

例題

// プルダウンメニューを選択
BTN(LEFT,CLICK,159,60,100)

// 受注入力メニュー選択
BTN(LEFT,CLICK,173,79,100)
SLEEP(1)

//受注番号入力
SENDSTR(id,受注番号,3,True)
SLEEP(0.1)

SENDSTR関数のACCで通常置き換えの指定をするTRUEでは、入力できない事がある。もちろんネット等で検索した、SENDSTR(0、””)つまり、クリップボードのクリア処理も試したが効果は無かった無かった。

FALSEで処理。つまり追加で処理しているが、問題があるといえばあるが、今の所問題にはなっていない。

つまり日時を入力すると同時にボタンでカレンダーを呼び出し、その日時を指定できる入力エリアで発生しているが、かなり特殊なのかも知れないが、VBのレイアウトモジュールを使いこなしていない為、この辺はよく分からない。

SENDSTR関数では、その表示(入力)する場所に指定番号を使うが、この番号では全て試した限り、入力できない例があった。

例題
// 注文番号入力
BTN(LEFT,CLICK,1089,515,10) //ボタンクリック
KBD(VK_RETURN,CLICK,10)  // リターンキー入力
SENDSTR(id,注文番号)     // 文字入力、番号やACCを指定していない。BTNとKBDでフォーカスを限定している為?
SLEEP(0.2)

プルダウンメニュー等で選択する事もできるが直接目的の数字で例えば顧客を入力する場合は、SENDSTR関数だけでは、指定のデータを呼び出す事ができなかった。 上記3と同じで、入力時に、リターンキーを一回押すか、ダブルクリックによるか、その辺の処理で微妙に異なる。

と言う事で、今の所、文字入力は、ほぼ解決しそうである。つまり、最終手段はBTN関数とリターンキーのシングルかダブルか、ダブルクリックの組み合わせ等で、何とかなっている。前回掲載の新システムの自動実行プログラムその1の受注処理は、パラメータを変えれば、ほぼ自動実行できる様にしたが、未だ先の厄介な問題を抱えている。

流石に今回は時間がかかりそうであるが一方で、それほど我慢できるとは別に、余裕もなくなって来ている(時間がなくなっている)。  


最新の画像もっと見る

コメントを投稿