使い方

本ページには広告が含まれています。

UWSC(Umiumiうみうみ Windowsウィンドウズ SCriptスクリプト)本体とPro版に付随するRecIE・UWSC Debugger・Uws2Exe・UWSC Cross Referenceの使い方の説明です。

UWSCの導入

ダウンロード

現在、UWSC公式サイト(http://www.uwsc.info)は閲覧できませんが、Internet Archiveという過去のWebページを保存しているサイトを利用することでダウンロードできます。

最新バージョン

UWSCの最新バージョンは5.3.0.2でUWSCの詳細情報 : Vector ソフトを探す!ではFree版のみダウンロードでき、ダウンロード(Internet Archive)ではFree版・Pro版ともにダウンロードすることができます。

過去バージョン

UWSC(Internet Archive)でアーカイブを見ることはでき、一部のバージョンはダウンロードすることも可能です。Pro版は2007年3月20日のVer4.2以降からのバージョンでダウンロードできます。

Wayback Machine(Internet Archive)で過去のバージョンをリストで見ることができ一部はダウンロードすることができます。リンク先のZIPファイルはFree版、EXEファイルはPro版のファイルで、例えばUWSC Ver4.7aの場合、Free版がhttp://www.uwsc.info/uwsc47a.zip、Pro版がhttp://uwsc.info/uwscpro47a.exeのリンクとなります。

以下がダウンロードできるバージョンの表です。GET_UWSC_VERで取得できる値も載せておきます。

Free版
Pro版

Ver4.6aはUWSCPRO46A.zip · Axfcでダウンロードできます。

ファイル名AboutGET_UWSC_VERプログラム名About日付
UWSCPRO46A.zip4.6a4.61UWSC Pro 4.6a2010/05/07

Ver4.3b1より前のものは、旧公式サイトであるうみうみ屋さん(http://www.h7.dion.ne.jp/~umiumi/)にあります。Wayback Machine

UWSCのアップデートの履歴は、公式サイト(UWSC(Internet Archive))トップページの新着情報/お知らせを参考に載せておきます。

履歴

インストール

Free版はダウンロードしたZIPファイルを解凍するだけでインストールは不要です。C:\Programs\などわかりやすい場所に移動させておきましょう。

Pro版は、ダウンロードしたuwscproXXX.exe(XXXはバージョン)を実行しインストール作業を行います。

ユーザーアカウント制御が表示される場合はいを選択します。

ユーザー アカウント制御

UWSCをインストールするには使用許諾契約書の同意に同意する必要があるので、内容をよく確認して同意するを選択します。

UWSC Pro セットアップ_使用許諾契約書の同意UWSC Pro セットアップ_使用許諾契約書の同意_同意する

以下の項目で必要ものにチェックを入れてください。

  1. デスクトップにUWSCのショートカットを作成
  2. ファイル拡張子.uwsにUWSCを関連付け
  3. スタートアップにUWSCのショートカットを作成
UWSC Pro セットアップ_追加タスクの選択

設定内容の確認し問題がなければインストールをクリックしてください。

UWSC Pro セットアップ_インストール準備完了

インストールの完了です。

UWSC Pro セットアップ_UWSC Pro セットアップウィザードの完了

インストール先はC:\Program Files (x86)\UWSC\です。

Pro版の試用期間は初回インストールから14日間です。それ以降も利用するには、ライセンスキーの登録が必要です。

https://total-uninstall.jp.uptodown.com/windows(試用期間30日)でレジストリを削除すると試用期間をリセットできます。

インストール済みプログラムでUWSCを選択し、アンインストールすることでリセットできます。

Total Uninstall Essential Editionを起動したらインストール済みプログラムを選択します。一覧からUWSCを選択します。フィルタにUWSCと入力すると見つけやすくなります。

Total Uninstall Essential Edition

UWSCを選択したらアンインストールをクリックします。アンインストールプロファイルの選択で解析済みプログラムのアンインストールが選択されているのを確認し、起動をクリックします。

Total Uninstall Essential Edition_アンインストールTotal Uninstall Essential Edition_アンインストール_2

途中以下のようなダイアログが表示されますが、これはTotal Uninstallではなく通常のアンインストール処理なのでいいえを選択します。

Total Uninstall Essential Edition_アンインストール_3

選択されているプログラムを確認し、問題なければアンインストールをクリックします。

Total Uninstall Essential Edition_アンインストール_4

Pro版の登録

UWSC起動時に表示される以下の画面のユーザー登録からライセンスキーの登録ができます。

メイン画面が表示されている場合は、設定メニュUWSC_設定をクリックしAboutを選択、タスクトレイにある場合はアイコンを右クリックしAboutを選択で表示されます。

UWSC About

購入時に取得したライセンスキーを入力しOKをクリックします。

User Registration

ライセンスキーが正しければ以下のようなメッセージが表示され、UWSC Proはシェアウェアです。登録済みと表示が変わります。

User Registration 登録UWSC About 登録後

ライセンスキーの確認方法

伝票番号がわかる場合

Vectorで購入した方は、メンテナンスのお知らせ|ベクターPCショップで伝票番号とメールアドレスもしくは電話番号を入力することでライセンスキーを確認することができます。

伝票番号を忘れた場合は、メンテナンスのお知らせ|ベクターPCショップのページにある伝票番号がわかりませんの項目を参考にしてください。以下に引用を記載しておきます。

伝票番号はお手続き時のメールに記載しております。メールが残っていない場合は以下をご参照ください。

伝票番号の記載のあるメールは、「お支払いのご案内メール」と「ライセンスキーのご案内メール」です。

他のメールにも記載のあるものがございますが、どちらのメールもお手元にない場合は、ご購入履歴からお調べしますののでお問い合わせください。

お問い合わせする際、下記のご記入をお知らせください。
・お申込時にご入力いただいたお名前
・ご入力いただいたお電話番号
・ソフト名
・お申込時のメールアドレス

お問い合わせは下記より行なうことができます。

お問い合わせフォーム

他のパソコンでPro版の登録をしている場合

新しいパソコンに買い替えてUWSCのPro版を使いたいけどライセンスキーがわからない場合は、すでにPro版をインストールしているパソコンのレジストリを解析することにより新しいパソコンでもPro版を使うことができます。

ライセンスキーを所有している人ができる内容であって、Pro版を購入していない人が使えるようになるわけではありません。

この方法はライセンスキーを特定するのではなく、ライセンスキーの登録情報を新しいパソコンにコピーするだけです。

公式ページにも(1ライセンス:1人の使用者もしくは1台のコンピュータのどちらかといたします)とあるので、同じ人が使う分には問題ないと思います。

ライセンスキーに関わるレジストリはコンピューター\HKEY_USERS\<SID>\SOFTWARE\Classes\VirtualStore\MACHINE\Software\Wow6432Node\Umiumi\UWSC\SNにあります。

プログラムでレジストリの値を取得・設定

まずUWSC Pro版がインストールされているパソコンでの処理で、以下のプログラムを実行しレジストリから値を取得します。

UWSC

この値を新しいパソコンで登録します。UWSC Pro版がインストールされている状態で、以下のプログラムを実行してください。11行目のSNに上のプログラムで取得した値を代入してから実行してください。このプログラムでレジストリを書き換えるので自己責任でお願いします。

UWSC
手動でレジストリの値を取得・設定

手動で追加する場合は、以下の手順で登録します。

まずUWSCのライセンスキーの場所を調べるためにSIDが必要なため調べます。コマンドプロンプトで以下を実行しログインユーザーのSIDを取得しておきます。

コマンドプロンプト

UWSCでも以下のプログラムを実行することで取得することができます。

UWSC

+Rでファイル名を指定して実行を開きregeditと入力し、レジストリエディターを開きます。

レジストリでコンピューター\HKEY_USERS\S-1-5-21-xxxxxxxxxx-xxxxxxxxxx-xxxxxxxxx-xxxx\SOFTWARE\Classes\VirtualStore\MACHINE\Software\Wow6432Node\Umiumi\UWSC\をアドレスバーに貼り付けて移動します。S-1-5-21-xxxxxxxxxx-xxxxxxxxxx-xxxxxxxxx-xxxxは取得したSIDに置き換えてください。

このときキー名に既定とTMがあることを確認してください。ない場合はパスが間違っている可能性があります。

UWSC Pro ライセンスキー レジストリ 1

編集-新規-文字列値を選択すると新しい値 #1という項目が作成されるので、SNというキー名に書き換えます。

UWSC Pro ライセンスキー レジストリ 2UWSC Pro ライセンスキー レジストリ 3

作成したキー名を右クリックし修正で値のデータに前のパソコンで取得した値を貼り付けます。

UWSC Pro ライセンスキー レジストリ 4

以下のようになればPro版を使うことができるようになるはずです。UWSCを起動していた場合はソフトを起動し直してください。

UWSC Pro ライセンスキー レジストリ 5

アンインストール

スタートをクリックし、UWSCもしくはUWSC Proフォルダ内にある同名のプログラムを右クリックし、アンインストールを選択します。

コントロール パネル\プログラム\プログラムと機能が開くので、一覧からUWSCを選択し、アンインストールをクリックしプログラムをパソコンから削除します。

メイン画面/動作記録と再生

タスクバーのをクリック、アプリ一覧にあるUWSCフォルダのUWSC(Pro版はUWSC ProフォルダのUWSC Pro)でUWSCを起動できます。

UWSCのインストール場所はC:\Program Files (x86)\UWSC\UWSC.exeです。UWSC.exeをダブルクリックすることで起動することもできます。メイン画面が表示されない場合はタスクトレイに格納されているのでUWSCアイコンを右クリック、タスクトレイから出るで表示されます。

メイン画面

起動時画面
UWSC_main
記録実行後画面
UWSC_not-save
UWSC_読み込み 読込み スクリプトファイルを読み込みます。(拡張子は".UWS"のみです)
UWSC_保存 保存 動作記録をスクリプトファイルとして保存します。
UWSC_再生 再生 記録したものを再生します。
UWSC_記録 動作記録 動作記録を開始します。
UWSC_設定 設定 各種設定のメニュが出ます。

読込み

UWSC_読込み

開くスクリプトのファイル名、実行回数、パラメータを指定します。実行回数には繰り返し実行する回数を指定します。

パラメータは引数を半角スペースで区切り、半角スペースを含む文字列は"(ダブルクォーテーション)で囲みます。受け取った引数はUNICODE文字列なので計算に使う場合はVAL関数 (スクリプト関数)などで数値化する必要があります。

パラメータは実行する度に渡され、PARAM_STRで受け取った引数にアクセスできます。改行コードは<#CR>、ダブルクォーテーションは<#DBL>、タブは<#TAB>で入力します。

以下はパラメータの例です。

第一引数:12、第二引数:51、第三引数:63を指定する場合。

UWSC

第一引数:abc、第二引数:d eを指定する場合。

UWSC

第一引数:"xyz"を指定する場合。

UWSC

動作記録

UWSC_rec

記録ボタンを押してからSTOPボタン又は停止ホットキーが押されるまでの動作を記録します

低レベル記録
キーボードとマウスの押し下げ情報を座標と共に低レベル関数で記録します。記録はマウスクリックかキー操作がされるか、又は マウス移動を0.5秒停止して開始した所から始まります。
MMV,ACW,GETID,BTN,KBD
高レベル記録
高レベル関数を使用して記録します、座標は記録されません。
オブジェクトの選択操作は必ずマウスでしてください、キーボードで選択操作をした場合は記録できません。
多段メニューはメニューが出る毎にクリックを実行してください。
記録できないアプリやオブジェクトがあります。
保存にて記録をスクリプトファイルとして保存できます(スクリプトですので自分で修正したり制御したりできます)
GETID,CLKITEM,SLEEP

再生

再生ボタンで再生します。スクリプトファイルをドロップしてもOKです。
引数にスクリプトファイル名を指定してUWSCを起動してもOKです(この時はスクリプトが終了するとUWSC自体も常駐せずに終了します)。
スクリプトファイル名の後にパラメーターを付ければ 変数PARAM_STRに渡せます。
停止ホットキー(デフォルト:Alt+F2)にて中断できます。
再生ホットキー(デフォルト:Alt+F1)にて一時停止ができます。

設定メニュ/設定画面

設定メニュ

一つ目がタスクトレイ内にあるときの設定メニュー、二つ目がタスクトレイ外にあるときの設定メニューです。

設定メニュ_タスクトレイ内設定メニュ_タスクトレイ外

RecIE(Web記録)、Uws2Exe(EXE作成)、Debugger(デバッグ) は UWSC Pro版の機能です。

タスクトレイ内外共通の項目

設定(X)
設定画面を開きます。
RecIE(Web記録)(R)
RecIEを起動します。
Uws2Exe(EXE作成)(U)
Uws2Exeを起動します。
Debugger(デバッグ)(D)
Debuggerを起動します。
.INI/.LOG Folder(F)
UWSC.INIがあるフォルダ(C:\Users\username\AppData\Roaming\UWSC\)を開きます。
Help(H)
UWSCヘルプ(C:\Program Files (x86)\UWSC\uwsc.chm)を開きます。
About(A)
UWSC Aboutを開きます。バージョンや最新版のチェック、Pro版への登録の有無が確認できます。
終了(Z)
UWSCを終了します。
設定メニュ(タスクトレイ内)

タスクトレイ上のアイコンで右クリックすると設定メニュが出ます。

設定メニュ_タスクトレイ内
タスクトレイから出る(W)
UWSCをタスクトレイから出し、ウィンドウを表示させます。
設定メニュ(タスクトレイ外)

タスクトレイ外(メイン画面)で設定をクリックと設定メニュが出ます。

メインメニュ_設定_ランチメニュ
タスクトレイに格納(W)
UWSCをタスクトレイに格納します。
ランチメニュ(M)、ランチメニュの設定(Z)...
スクリプトファイルを 登録しておき 選択起動できます。(スクリプトファイル以外の EXEや関連付けされたファイル等も登録できます)。

ランチメニュ

タスクトレイ上にあるUWSCのアイコンを左クリックすることでランチメニュの設定と登録しているスクリプトの一覧が表示されます。

ランチメニュ

スクリプト登録

スクリプト設定を行います。

UWSCが起動している場合、ホットキーでここに登録したスクリプトの一覧を表示させることができます。頻繁に使うスクリプトを登録しておくとすぐに起動できるので便利です。

スクリプトは35個まで登録することができ、ホットキー0〜9、A〜Yまで利用できます。Zはランチメニュの設定(Z)を開くのに使われているためホットキーには使用できません。

ランチメニュ_スクリプト登録

スクリプト設定

ランチメニュ_スクリプト登録_スクリプト設定

タスクトレイ上のアイコンで左ダブルクリック:タスクトレイから出て通常状態になります。

タスクトレイ上で終了すると次回起動時はタスクトレイ起動になります。

階層化は、同じような処理をグループ化するときに利用します。

ランチメニュ_階層化スクリプト設定

以下にランチメニュに登録しておくと便利なスクリプトを記載しておきます。

スクリプトはドキュメント\UWSC\Scripts\フォルダなど同じところにまとめておくと管理しやすくなります。

  • 項目取得
    • タイトル・クラス名を取得
    • カーソル座標と色情報を取得
    • CLKITEMで操作できる項目を取得
    • CHKBTNで操作できる項目を取得
    • GETSTRで取得できるすべての項目を取得
    • GETITEMで取得できるすべての項目を取得
    • GETSLCTLSTで操作できる項目を取得
  • クリップボード文字列の操作
    • 大文字に変換
    • 小文字に変換
    • ひらがなに変換
    • カタカナに変換
    • 半角文字に変換
    • 全角文字に変換
  • タイトル・クラス名
  • 座標・色情報
  • CLKITEM
  • CHKBTN
  • GETSTR
  • GETITEM
  • GETSLCTLST
  • 大文字
  • 小文字
  • ひらがな
  • カタカナ
  • 半角文字
  • 全角文字
UWSC
UWSC
UWSC
UWSC
UWSC
UWSC
UWSC
UWSC
UWSC
UWSC
UWSC
UWSC
UWSC

設定

UWSC_setting
低レベル記録
低レベル記録は 単純にキーボードとマウスの押し下げ情報を座標と共に低レベル関数で記録します。 記録はマウスクリックかキー操作がされるか、又は マウス移動を0.5秒停止して開始した所から始まります。
余分な時間、マウス移動は記録しない
ここがチェックされていれば マウス移動や余分な時間は記録されません
マウス座標を相対座標で記録する
ここがチェックされていれば マウスの座標はアクティブウィンドウに対しての座標で記録されます(後で位置調整の為スクリプトを修正するのであれば、こちら方が良いでしょう)
高レベル記録
高レベル記録は 高レベル関数を使用して記録します、座標は記録されません。オブジェクトの選択操作は必ずマウスでしてください、キーボードで選択操作をした場合は記録できません。操作はゆっくり実行してください、速いと取りこぼす事があります。多段メニューはメニューが出る毎にクリックを実行してください。記録できないアプリやオブジェクトがあります。
記録後クリップボードへコピーする
記録終了後、スクリプトをクリップボードへコピーします
ホットキー
再生
再生ボタンのホットキーを設定します
停止
再生/記録の停止ホットキーを設定します
記録
記録ボタンのホットキーを設定します
トレイ
タスクトレイ出入りのホットキーを設定します

ホットキーは以下の組み合わせから選択します。

母体キー
  1. CTRL
  2. WIN
  3. ALT
  4. SHIFT+CTRL
  5. SHIFT+ALT
  6. CTRL+ALT
組み合わせるキー
  1. SPACE
  2. F1
  3. F2
  4. F3
  5. F4
  6. F9
  7. F10
  8. F11
  9. F12
  10. ↑
  11. ↓
  12. →
  13. ←
  14. Q
  15. W
  16. E
  17. R
  18. A
  19. S
  20. D
  21. F
  22. End
  23. Home
  24. F5
  25. F6
  26. F7
  27. F8
  28. T
  29. Y
  30. U
  31. I
  32. O
  33. P
  34. G
  35. H
  36. J
  37. K
  38. L
  39. Z
  40. X
  41. C
  42. V
  43. B
  44. N
  45. M
  46. 1
  47. 2
  48. 3
  49. 4
  50. 5
  51. 6
  52. 7
  53. 8
  54. 9
  55. 0

プルダウンメニューそのままの順番で書いていますが、組み合わせるキーはまとめると以下のようになります。

  • アルファベット(A〜Z)
  • 数字(0〜9)
  • ファンクションキー(F1〜F12)
  • スペース(Space)
  • 矢印(上下左右)
  • Home・End
スケジューラー
スクリプトのスケジュール設定画面を開きます。スケジュール設定を参照。

スケジュール設定

UWSC_schedule

スクリプトのスケジュール設定ができます。スクリプトファイル名を設定してタイマー設定にて起動時間を指定してください。

休止状態から復帰するがチェックであればサスペンド状態からでも復帰し実行できます。ビープ音で知らせるがチェックであればスクリプト起動時にビープ音で知らせて間を2秒程取ります。

スクリプトの項目には、タイマーに登録するスクリプトのパスと実行回数を設定します。インプットボックスに直接パスを入力するか、...で登録するファイルを選択、実行回数を設定します。インプットボックスに直接入力する場合、スクリプトのパス -R<実行回数>の形式で入力します。実行回数が1回だけの場合スクリプトのパスと入力し、-Rnを省略することができます。

タイマーの項目(初期値:設定なし)を選択すると、実行するタイミングを設定できます。現在設定されている項目で設定なし、起動時、N分毎、H時間毎、HH:NN:<毎日|毎週|毎月>:<曜日|日付>、YYYYMMDD:HH:NN:一回。<式>、win:<Title>:<Class>のいずれかの形式が表示されます。

スケジュールしたスクリプトを実行するにはUWSCが起動している必要があります。毎日など設定している場合は、スタートアップにUWSC.exeを指定してタスクトレイに常駐させておくと良いです。

タイマー設定

UWSC_schedule_timer
設定なし
タイマー設定を行いません。[設定なし]を選択しOKで確定すると、他の項目に入力していた内容は破棄されます。
UWSC起動時
UWSCが起動したときにスクリプトを実行します。
インターバル
0時0分を基準に計算をしています (UWSC起動時からの時間ではない)
分単位:1分毎,2分毎,3分毎,4分毎,5分毎,10分毎,15分毎,20分毎,30分毎
時間単位:1時間毎,2時間毎,3時間毎,4時間毎,6時間毎,8時間毎,12時間毎
時間指定
毎日、毎週日~土、毎月1~31のいずれかを指定します。
一回だけ実行
指定した日時に一回だけ実行されます。
式による設定
自分で式を記述する事により細かな時間設定が決められます
式の書き方は、式による設定で使える変数・演算子を参照。
注意:チェックは分単位でされます、分単位の設定(NN,YMDNN)を忘れずに
NN,YMDNNを記述しないと毎分実行されることになります。
指定Windowが現れた時
タイトルとクラス名のどちらか一方だけでも可
タイトルは一部分だけでも可
指定Windowのタイトルと実行するスクリプト名が部分一致するとスクリプトが無限に起動するので注意
Windowと実行するスクリプト名は違う名前をつけてください
別プロセスで実行
別プロセスで実行します
スクリプト実行中でも起動する事ができます

式による設定で使える変数・演算子

変数
変数 意味
YY 年
MM 月
DD 日
HH 時
NN 分
YMDNN 2000年からの経過分
WW 曜日(日=0、月=1、火=2、水=3、木=4、金=5、土=6)

以下は指定した日時のYMDNN(2000年からの経過分)を求めるプログラムです。

UWSC

以下は現在のYMDNNを表示するプログラムです。1分毎に1ずつ増加されていきます。

UWSC
論理演算子

論理演算子は、論理式や条件式を組み合わせて論理的な判定や演算を行うための演算子です。一般的には、論理演算子は真偽値(真または偽)を扱います。

演算子 意味 使用例 意味
AND 論理積 a AND b a、bともに真
OR 論理和 a OR b a、bのいずれかが真
算術演算子

一定間隔で実行するとき利用します。

演算子 意味 使用例 意味
MOD 剰余演算子 a MOD b aをbで割った余り
比較演算子

比較演算子は、2つの値を比較して真偽値(真または偽)を返すための演算子です。

演算子 意味 使用例 意味
< より小さい a < b aはbより小さい
> より大きい a > b aはbより大きい
= 等しい a = b aとbは等しい
<> 等しくない a <> b aとbは等しくない
<= 以下 a <= b aはb以下
>= 以上 a >= b aはb以上

式による設定

指定した式に一致する日時にスクリプトを実行します。

以下に式の書き方を記載していますが、式として指定するときはYMDNNまたはNNとともに指定する必要があるので注意してください。毎分実行されることになります。

毎日12時00分

UWSCスケジュール

毎日0時00分、2時00分、4時00分、…、22時00分

UWSCスケジュール

休日(日または土)

UWSCスケジュール

日:0、土:6なので6で割った余りが0でも土日と判定できます。

UWSCスケジュール

平日(月〜金)

UWSCスケジュール

土日は6で割った余りが0だったので、平日は余りが0以外で判定できます。

UWSCスケジュール

min分毎に実行する場合は、剰余関数(MOD)を利用します。

UWSCスケジュール

20分毎に実行する場合は以下のようになります。毎時0分、20分、40分。

UWSCスケジュール

min分毎で実行日時をoffsetだけ時間をずらす場合は、以下のように記述します。

UWSCスケジュール

毎時5分、35分(min:30分毎、offset:+5分)

UWSCスケジュール

offsetがマイナス値になる場合は、以下のようにoffsetにminを加えます。

UWSCスケジュール

毎時17分、37分、57分(min:20分毎、offset:-3分)

17は-3+20(offset+min)から求められます。

UWSCスケジュール

以下の式はoffsetがマイナス値になるかどうかに関係なく使えます。

UWSCスケジュール
記述例

火曜日の0時と12時

UWSCスケジュール

18分間隔

UWSCスケジュール

分が00のとき(1時間毎)

UWSCスケジュール

分の一の位が「3」の時間(毎時3,13,23,33,43,53分)

UWSCスケジュール

分が55分以降(毎時55,56,57,58,59分)

UWSCスケジュール

休日(土日)の12:00

UWSCスケジュール

平日(月〜金)の18:00

UWSCスケジュール

毎月1日の0:00

UWSCスケジュール

存在しない変数や演算子を使ったとき、1年以内に実行する予定がないときは以下のメッセージが表示されます。

UWSC_スケジュール_式による設定_式がおかしいですUWSC_スケジュール_式による設定_1年以内での実行は無し

実行する日時が複雑な場合は、スクリプトを複数に分けてスケジュールに登録するのも良いと思います。

以下は式がマッチする日時を取得します。

5行目のFOR文で終了値を60 * 24 * 7(現在時刻から一週間までに一致する日時)にしてますが、もっと大きい値を入れるとより先の日時まで求められます。

  • Main
  • FUNCTIONS
UWSC
DIM base = INT(GETTIME()/60)
DIM formula = INPUT("式を入力")
IF formula = EMPTY OR formula = "" THEN EXIT

FOR minute = 1 TO 60 * 24 * 7
	DIM date = dateAdd("n", base + minute, "2000/01/01 00:00:00")
	GETTIME(0, date)
	DIM YY = G_TIME_YY
	DIM MM = G_TIME_MM
	DIM DD = G_TIME_DD
	DIM HH = G_TIME_HH
	DIM NN = G_TIME_NN
	DIM WW = G_TIME_WW
	DIM YMDNN = base + minute
	IFB EVAL(formula) THEN
		PRINT dateAdd("n", YMDNN, "2000/01/01 00:00:00") + IIF(HH=0 AND NN=0, " 00:00:00", "")
	ENDIF
NEXT
UWSC
//////////////////////////////////////////////////
// 【引数】
//   interval : 加算する時間間隔を表す文字列式(yyyy:年、m:月、d:日、ww:週、h:時、n:分、s:秒)
//   num : dateに加算する値。未来は正、過去は負で指定
//   date : 時間間隔を加算する日付
// 【戻り値】
//   日時(date)に、指定した単位(interval)の時間(num)を加算して返します
//////////////////////////////////////////////////
FUNCTION dateAdd(interval, num, date)
	DIM year, month, day, d
	GETTIME(0, date)
	DIM time = G_TIME_HH2 + ":" + G_TIME_NN2 + ":" + G_TIME_SS2
	SELECT interval
		CASE "yyyy"
			d = (G_TIME_YY + num) + "/" + G_TIME_MM2 + "/" + G_TIME_DD2
			IF time  "00:00:00" THEN d = d + " " + time
		CASE "m"
			IFB num > 0 THEN
				year = G_TIME_YY + INT((G_TIME_MM + num) / 12)
				month = REPLACE(FORMAT(((G_TIME_MM + num) MOD 12), 2), " ", "0")
			ELSE
				year = G_TIME_YY + CEIL((G_TIME_MM + num) / 12 - 1)
				month = REPLACE(FORMAT(G_TIME_MM - (ABS(num) MOD 12), 2), " ", "0")
			ENDIF
			IF month = "00" THEN month = 12
			day = G_TIME_DD2
			d = "" + year + month + day
			IFB !isDate(d) THEN
				d = year + "/" + month + "/" + "01"
				d = getEndOfMonth(d)
			ELSE
				d = year + "/" + month + "/" + day
			ENDIF
			IF time  "00:00:00" THEN d = d + " " + time
		CASE "d"
			t = GETTIME(num, date)
			d = G_TIME_YY4 + "/" + G_TIME_MM2 + "/" + G_TIME_DD2 + IIF(t MOD 86400, " " + G_TIME_HH2 + ":" + G_TIME_NN2 + ":" + G_TIME_SS2, "")
		CASE "ww"
			t = GETTIME(num * 7, date)
			d = G_TIME_YY4 + "/" + G_TIME_MM2 + "/" + G_TIME_DD2 + IIF(t MOD 86400, " " + G_TIME_HH2 + ":" + G_TIME_NN2 + ":" + G_TIME_SS2, "")
		CASE "h"
			t = GETTIME(num / 24, date)
			d = G_TIME_YY4 + "/" + G_TIME_MM2 + "/" + G_TIME_DD2 + IIF(t MOD 86400, " " + G_TIME_HH2 + ":" + G_TIME_NN2 + ":" + G_TIME_SS2, "")
		CASE "n"
			t = GETTIME(num / 1440, date)
			d = G_TIME_YY4 + "/" + G_TIME_MM2 + "/" + G_TIME_DD2 + IIF(t MOD 86400, " " + G_TIME_HH2 + ":" + G_TIME_NN2 + ":" + G_TIME_SS2, "")
		CASE "s"
			t = GETTIME(num / 86400, date)
			d = G_TIME_YY4 + "/" + G_TIME_MM2 + "/" + G_TIME_DD2 + IIF(t MOD 86400, " " + G_TIME_HH2 + ":" + G_TIME_NN2 + ":" + G_TIME_SS2, "")
	SELEND
	RESULT = d
FEND

//////////////////////////////////////////////////
// 【引数】
//   date : 日付(”YYYYMMDD” or “YYYY/MM/DD” or “YYYY-MM-DD” or “YYYYMMDDHHNNSS” or “YYYY/MM/DD HH:NN:SS”)
//   m : 第一引数の指定日からプラスマイナスm月とする
// 【戻り値】
//   dateからm月後の月末の日付
//////////////////////////////////////////////////
FUNCTION getEndOfMonth(date, m = 0)
	date = dateAdd("m", m + 1, date)
	GETTIME(0, date)
	GETTIME(-G_TIME_DD, date)
	RESULT = G_TIME_YY4 + "/" + G_TIME_MM2 + "/" + G_TIME_DD2
FEND

//////////////////////////////////////////////////
// 【引数】
//   expr : 評価する式
//   truepart : 評価した式がTrueのときに返す値
//   falsepart : 評価した式がFalseのときに返す値
// 【戻り値】
//   truepart : 評価した式がTrueのとき、falsepart : 評価した式がFalseのとき
//////////////////////////////////////////////////
FUNCTION IIF(expr, truepart, falsepart)
	IFB EVAL(expr) THEN
		RESULT = truepart
	ELSE
		RESULT = falsepart
	ENDIF
FEND

//////////////////////////////////////////////////
// 【引数】
//   date : 存在するかを調べる日付文字列。YYYYMMDD or YYYY/MM/DD or YYYY-MM-DDのいずれかの形式。
// 【戻り値】
//   TRUE : 日付として認識できる、FALSE : 日付として認識できない
//////////////////////////////////////////////////
FUNCTION isDate(date)
	TRY
		GETTIME(0, date)
		RESULT = TRUE
	EXCEPT
		RESULT = FALSE
	ENDTRY
FEND

指定Windowが現れた時

指定したWindowが現れた時にスクリプトを実行します。

ウィンドウのタイトルとクラス名を取得するプログラムです。Alt+Cでクリップボードにマウスカーソル下のウインドウのタイトルとクラス名を送ります。

UWSC

ランチメニュ

スクリプトファイルを登録しておき選択起動できます
(スクリプトファイル以外の EXEや関連付けされたファイル等も登録できます)
ホットキー設定により出現 タスクトレイ時は左ボタンにて出現

RecIE

RecIE
記録/停止
指定したURLを開いたところから記録を開始し、停止が押されるまで記録されます。
再生
記録したスクリプトを再生します。
保存
生成されたスクリプトを保存します。
設定
記録時の設定をします。
RecIE_右クリック

右クリックメニュー

表示項目の取得
マウス位置の表示項目を取得します。
クリック処理
JavaScript処理、画像等で通常クリックで記録できない場合やURLではなくオブジェクト文字として記録したい場合に利用します。
ページに戻る
表示ページを戻します。
HTMLの取得
HTMLのbody部を取得します。範囲設定されている場合はその部分のみを取得します。

Debugger

UWSC Debugger

プログラムが複雑になってくると実行時に間違いを見つけることは困難になります。そこでデバッグを行うことで効率的にコーディングすることができるようになります。

左側がスクリプトを記述するスクリプト表示領域、右側上段がグローバル変数表示、中段がローカル変数表示、下段がPRINT文 ログ表示でPRINT文で出力した内容が表示されます。出力するログの1行が長くなる場合は、1024文字毎に折り返されます。

UWSC Debugger(実行中)UWSC Debugger(実行中)_ブレークポイントUWSC Debugger(実行中)_Local

行番号をクリックするとブレークポイントを設定でき、実行時にその行で一時停止させることができます。その時点での変数の値が右欄に表示されるため、間違いを見つけやすくなります。OPTION、PUBLIC、CONST、PROCEDURE、FUNCTION、TEXTBLOCK、ENDTEXTBLOCK、MODULEの行にはブレークポイントを設定することはできません。

グローバル・ローカル変数表示

モジュール
Global・Local
起動時パラメータ
Global・Local
UWSC
配列
一次元配列
Global・Local
一次元セーフ配列
Global・Local
ニ次元配列
Global・Local
ニ次元セーフ配列
Global・Local
連想配列
Global・Local

Valueは以下のように表示されます。

Value

変数の型

番号 型 意味
0 Empty EMPTY
1 Null NULL
2 SmallInt 数値
3 Integer 数値
4 Single 数値
5 Double 数値
6 Currency 通貨型
7 Date 日付型
8 UString 文字型
9 Dispatch ポインター
10
11 Boolean ブール型
12
13
16 Char バイト型(符号付)
17 Byte バイト型(符号なし)
18 Word 数値
19 LongWord 数値
20 Int64 数値
256
258
8192

Debuggerのメニュー

Debuggerにあるメニューは以下の通りです。

LoadDebugger_Load
UWSスクリプトの読込み
SaveDebugger_Save
UWSスクリプトの保存
RunDebugger_Run
スクリプトの実行
PauseDebugger_Pause
一時停止
StopDebugger_Stop
実行の停止
Step InDebugger_Step In
ステップ(一行)実行(関数があれば関数の中に入る)
Step OverDebugger_Step Over
ステップ(一行)実行(関数の中に入らない)
TraceDebugger_Trace
現在の実行行を示します。一行実行する毎に指定のディレイ(ms)が入ります。ディレイに-1が設定されたときは実行行の追従はせず、変数値のみ更新します。
Function&Procedure
指定関数行に移動します。
Search
文字検索
Script

プログラムはC:\Program Files(x86)\UWSC\DbgScript\にあります。

  1. Info Under MouseCursor
    マウスカーソル下の情報を取得します
  2. ObjectCharacter By Type
    指定ウィンドウの全オブジェクトの文字を種類別に取得
  3. Object With Handle
    ハンドルを持つオブジェクトの情報取得
  4. PosAcc Search
    PosAcc関数にて画面をサーチし情報取得
Option
  1. Cross Reference
    クロスリファレンスリスト(変数や関数の使用行表示)の起動。利用されていない変数や関数は赤で表示されます。行番号をダブルクリックするとデバッガをその行に移動します。
  2. Transparent Window...
    デバッガ自身もしくはデバッガに重なるアクティブWindowを透過処理
  3. Font / Color
    フォント設定や文字カラーの設定をします
  4. Uws2Exe
    EXE化ツールを起動します
Help
  1. Debugger Help
    UDebugのヘルプ(UDebug.chm)を開きます。ファイルのパスはC:\Program Files (x86)\UWSC\UDebug.chmです。
  2. UWSC Help
    UWSCのヘルプ(uwsc.chm)を開きます。ファイルのパスはC:\Program Files (x86)\UWSC\uwsc.chmです。
  3. .INI/.LOG Folder
    エクスプローラにて、UDebug.INIのあるフォルダを開きます。フォルダのパスはC:\Users\username\AppData\Roaming\UWSC\です。
  4. About
    バージョン情報を表示します。最新版は2016/10/15でUWSC Ver5.2.3.0、UDebug Ver2.2.3.0です。

Scriptにあるプログラム

  • C:\Program Files (x86)\UWSC\DbgScript
    • Info_Under_MouseCursor.uws
    • Object_With_Handle.uws
    • ObjectCharacter_By_Type.uws
    • PosAcc_Search.uws
  • Info_Under_MouseCursor.uws
  • Object_With_Handle.uws
  • ObjectCharacter_By_Type.uws
  • PosAcc_Search.uws
UWSC
UWSC
UWSC
UWSC

sampleにあるプログラム

  • sample
    • Calc.uws
    • Excel.uws
    • GruGru.uws
    • IEFlash.uws
    • IEtoExcel.uws
    • サンプル.uws
    • システム情報.uws
    • タイトルクラス.uws
    • タスクトレイ.uws
    • ディレクトリ木.uws
    • バックグラウンド.uws
    • ポップアップメニュ.uws
    • メール送信.uws
    • 音声認識.uws
    • 画像保存.uws
    • 計算フォーム.uws
    • 入力フォーム.uws
    • 文字情報.uws
    • 文字変換.uws
  • Calc.uws
  • Excel.uws
  • GruGru.uws
  • IEFlash.uws
  • IEtoExcel.uws
  • サンプル.uws
  • システム情報.uws
  • タイトルクラス.uws
  • タスクトレイ.uws
  • ディレクトリ木.uws
  • バックグラウンド.uws
  • ポップアップメニュ.uws
  • メール送信.uws
  • 音声認識.uws
  • 画像保存.uws
  • 計算フォーム.uws
  • 入力フォーム.uws
  • 文字情報.uws
  • 文字変換.uws
UWSC
UWSC
UWSC
UWSC
UWSC
UWSC
UWSC
UWSC
UWSC
UWSC
UWSC
UWSC
UWSC
UWSC
UWSC
UWSC
UWSC
UWSC
UWSC

Font / Color

UWSC_Debugger_FontColor

エディタのフォントと色を設定します。

Tab
タブ幅を指定します。
Font
フォントを指定します。
Font Color
ベースの文字色を設定します。
Background
背景色を指定します。
構文
構文(その他項目)の文字色を指定。
定数
定数(その他項目)の文字色を指定。
特殊変数
特殊変数(その他項目)の文字色を指定。
コメント
コメント部分(ダブルスラッシュ)箇所の文字色を指定。
UWSC関数
UWSC関数(その他項目)の文字色を指定。
文字列
ダブルクォーテーション("文字列")で囲まれた範囲の文字色を指定。

太字・斜体にする場合はチェックボックスにチェックを入れます。

Uws2Exe

Uws2Exe

UWSCファイルをEXEファイルにします。EXE化後は単体での実行が可能で、ライセンスフリーにて配布できます。

完成したスクリプトまたは改竄かいざんされたくないスクリプトをEXE化するときに使います。

UWSCをインストールしていない環境でも実行することができます。

EXE化するスクリプトを指定してください
EXE化するファイルを指定またはウィンドウ上にドラッグします。複数ファイルで構成されている場合は、トップのスクリプトを指定します。
CALL文で呼ばれるファイル、CREATEFORM関数のHTMLファイル、CHKIMG関数の画像ファイルは自動で取り込まれます、変数でファイル名が指定されている場合は取り込みません。
(HTML画面に関しては下記HTML画面使用にてを参照)
アイコンの変更
アイコンを変更するときはチェックを入れ、拡張子が*.ICOのファイルを指定してください。PNG、JPEG、GIF、BMPの画像をアイコンに変更するには以下のリンクを利用してください。 チェックを入れない場合はC:\Program Files (x86)\UWSC\exeuws.exeのアイコンが使われます。
STOPボタンを出さない
画面上にSTOPボタンを出しません。
タスクバーに出さない
タスクバー上にアイコンを出しません。
(CREATEFORM関数によりフォームを作成した場合はフォームのアイコンは出ます)
INIファイルを作らない
INIファイルを作成しません。
作成を許可している場合はUWSC.INIからPosition(位置)、StopHotKey(停止ホットキー)、LogLines(ログ行数)、DefaultFont(フォント)の情報をコピーします。
ログファイルを作らない
PRINT文で表示される情報を保存しません。
BMPファイルを取り込まない
CHKIMG関数にて使用するBMPファイルを取り込みません。
多重起動を許さない
多重起動を禁止します。多重起動を禁止にしているときに多重起動すると、後に開いたEXEファイルは強制終了します。
実行ファイルを圧縮する
upxを利用してサイズを約3分の1にできます。
uws2exe.INIのUpxPath=にupx.exeのあるフォルダを記述することによりupxが使用できます。
バージョン情報
EXEのプロパティに埋め込まれるバージョン情報を設定します。
UWSファイルの中にコメント形式にて設定することもできます。
(下記バージョン情報の設定を参照。)

EXE化したものは単体で動作可能になります。
EXE化したものはライセンスフリーであり配布等は自由です。

UPX: the Ultimate Packer for eXecutables - HomepageにあるDownload latest releaseのリンクでGitHubのページが開くので、upx-4.2.1-win64.zipをダウンロードしてください。

HTML画面使用にて(複数ファイルで構成されているとき)

画像やCSSファイルがある場合もしくはマルチフレームの場合、htmlからmhtに変換して1ファイルにしてください。
(IEで表示してからファイル->名前を付けて保存でファイルの種類にてWebアーカイブ、単一のファイル(*.mht)を選択して保存)

バージョン情報の設定

UWSファイルの中にコメント形式にて設定できます。ここで指定した内容はEXE化するスクリプトを指定したときに自動的にバージョン情報の項目に適用されます。同じ項目を複数記述した場合は、より後に書かれた方が適用されます。

以下の内容をEXE化するスクリプトの先頭に記述しておきます。

UWSC

実行停止について

INIファイルの作成が有効の場合には、UWSCの停止ホットキーと同じキーが引き継がれます。

他の停止方法としては、タスクバーのアイコン上で右クリックして閉じる(C)を選択、またはSETHOTKEY関数にて定義してください。

UWSC

コマンドラインからの起動

オプションは/もしくは-の後に連続で表記します。オプションは順不同で指定できます。

オプション内容
SSTOPボタンを出さない
Tタスクバーに出さない
IINIファイルを作らない
Lログファイルを作らない
BBMPファイルを取り込まない
M多重起動を許さない
UEXEファイルをの圧縮(uws2exe.INIのUpxPath=にupx.exeのあるパスを記述)
E画面を出さずにEXE化処理の実行
EXE化するスクリプトの指定
変更するアイコンの指定

記述例

コマンドプロンプト

バージョンは0.0.0.0〜999.999.999.999まで指定できます。

バージョンはメジャーバージョン.マイナーバージョン.ビルドバージョン.リビジョンのように表します。

バージョン 意味
メジャーバージョン 根本から変更したとき
マイナーバージョン 大幅な仕様変更・機能を加えたとき
ビルドバージョン 小さな仕様変更・機能を加えたとき
リビジョン バグの修正等

.は区切り文字であり小数を表しているわけではありません。そのため1.0.0.9にバグ修正を加えた場合は1.0.1.0ではなく、1.0.0.10となります。

上位の数字が加えられた場合、下位の数字は0に戻します。

最初は1.0.0.0を指定します。

UWSC Free版でEXEファイルを作成する方法

IExpress(C:\Windows\System32\iexpress.exe)を使うことで、EXEファイルを作成することが可能です。

  1. ファイル名を指定して実行やコマンドプロンプトからiexpress.exeを入力し、IExpress Wizardを起動します。

  2. Create new SelfExtraction Directive file.を選択し次へ。

    IExpress Wizard_1
  3. Package purposeと表示されるのでExtract files and run an installation commandを選択し次へ。

    IExpress Wizard_2
  4. Package titleと表示されるので、タイトルを入力し次へ。

    IExpress Wizard_3
  5. Confirmation promptと表示されるので、No prompt.を選択し次へ。

    IExpress Wizard_4
  6. License agreementと表示されるので、Do not display a license.を選択し次へ。

    IExpress Wizard_5
  7. Paclaged filesと表示されるので、Addをクリックし、まずUWSC.exeを追加し次にEXE化したいUWSファイルを選択します。UWSC.exeはC:\Program Files (x86)\UWSC\UWSC.exeにあります。追加が終わったら次へ。

    IExpress Wizard_6
  8. Install Program to Launchと表示されるので、Install ProgramにUWSC.exe <UWSファイル名.uws>を入力します。Post Install Commandは<None>を選択し次へ。

    IExpress Wizard_7
  9. Show windowと表示されるので、Default (recommended)を選択し次へ。

    IExpress Wizard_8
  10. Finished messageと表示されるので、No message.を選択し次へ。

    IExpress Wizard_9
  11. Package Name and Optionsと表示されるので、作成したEXEファイルの保存先を入力もしくはBrowseで指定。OptionsのStore files using Long File Name inside Packageにチェックを入れダイアログが表示されるのではいを選択し次へ。

    IExpress Wizard_10IExpress Wizard_11
  12. Configure restartと表示されるので、No restartを選択し次へ。

    IExpress Wizard_12
  13. これまでの設定内容を保存する場合はSave SelfExtraction Directive (SED) file:を選択し、保存先のパスを入力もしくはBrowseから指定。

    IExpress Wizard_13
  14. Create packageと表示されるので次へ。

    IExpress Wizard_14
  15. 完了を選択し終了します。

    IExpress Wizard_15

Cross Reference(XRef・クロスリファレンス)

UWSC Debuggerの[Option]->[Cross Reference]から起動。保存されていないファイルの場合は実行できません。ファイルを保存してから実行します。

変数や関数が使われている行番号を一覧で出力します。宣言・定義はしているのに利用されていない変数や関数は赤字で表示されます。

UWSC Cross Reference
読み込みファイル
Cross Referenceに読み込まれているファイルのパス
MODULE定義
モジュールが定義されている行。モジュール名のみで内部に定義された関数名は表示されません。
ユーザー関数
ユーザー関数・モジュールが定義・呼び出されている行。モジュール内で定義された関数はモジュール名.関数名のように表示されます。
CONST変数
CONSTで定数が宣言されている行。
PROTECTED変数(MODULE内定義)
モジュール内で宣言された変数。
LOCAL変数
ローカル変数が宣言されている行。先頭にargがついている変数は自作関数内で値を受け取り利用するために宣言された変数(仮引数)。値を受け取った行番号はなぜか実際の値よりも-1されている。

参考文献

  1. バージョンの考え方