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で取得できる値も載せておきます。
Ver4.6aはUWSCPRO46A.zip · Axfcでダウンロードできます。
| ファイル名 | About | GET_UWSC_VER | プログラム名 | About日付 |
|---|---|---|---|---|
| UWSCPRO46A.zip | 4.6a | 4.61 | UWSC Pro 4.6a | 2010/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のショートカットを作成
- ファイル拡張子.uwsにUWSCを関連付け
- スタートアップにUWSCのショートカットを作成

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

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

インストール先はC:\Program Files (x86)\UWSC\です。
Pro版の試用期間は初回インストールから14日間です。それ以降も利用するには、ライセンスキーの登録が必要です。
https://total-uninstall.jp.uptodown.com/windows(試用期間30日)でレジストリを削除すると試用期間をリセットできます。
インストール済みプログラムでUWSCを選択し、アンインストールすることでリセットできます。
Total Uninstall Essential Editionを起動したらインストール済みプログラムを選択します。一覧からUWSCを選択します。フィルタにUWSCと入力すると見つけやすくなります。

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


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

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

Pro版の登録
UWSC起動時に表示される以下の画面のユーザー登録からライセンスキーの登録ができます。
メイン画面が表示されている場合は、設定メニュ
をクリックしAboutを選択、タスクトレイにある場合はアイコンを右クリックしAboutを選択で表示されます。

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

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


ライセンスキーの確認方法
伝票番号がわかる場合
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 Pro版がインストールされている状態で、以下のプログラムを実行してください。11行目のSNに上のプログラムで取得した値を代入してから実行してください。このプログラムでレジストリを書き換えるので自己責任でお願いします。
手動でレジストリの値を取得・設定
手動で追加する場合は、以下の手順で登録します。
まずUWSCのライセンスキーの場所を調べるためにSIDが必要なため調べます。コマンドプロンプトで以下を実行しログインユーザーのSIDを取得しておきます。
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があることを確認してください。ない場合はパスが間違っている可能性があります。

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


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

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

アンインストール
スタートをクリックし、UWSCもしくはUWSC Proフォルダ内にある同名のプログラムを右クリックし、アンインストールを選択します。
コントロール パネル\プログラム\プログラムと機能が開くので、一覧からUWSCを選択し、アンインストールをクリックしプログラムをパソコンから削除します。
メイン画面/動作記録と再生
タスクバーのをクリック、アプリ一覧にあるUWSCフォルダのUWSC(Pro版はUWSC ProフォルダのUWSC Pro)でUWSCを起動できます。
UWSCのインストール場所はC:\Program Files (x86)\UWSC\UWSC.exeです。UWSC.exeをダブルクリックすることで起動することもできます。メイン画面が表示されない場合はタスクトレイに格納されているのでUWSCアイコンを右クリック、タスクトレイから出るで表示されます。
メイン画面
| 読込み | スクリプトファイルを読み込みます。(拡張子は".UWS"のみです) | |
| 保存 | 動作記録をスクリプトファイルとして保存します。 | |
| 再生 | 記録したものを再生します。 | |
| 動作記録 | 動作記録を開始します。 | |
| 設定 | 各種設定のメニュが出ます。 |
読込み

開くスクリプトのファイル名、実行回数、パラメータを指定します。実行回数には繰り返し実行する回数を指定します。
パラメータは引数を半角スペースで区切り、半角スペースを含む文字列は"(ダブルクォーテーション)で囲みます。受け取った引数はUNICODE文字列なので計算に使う場合はVAL関数 (スクリプト関数)などで数値化する必要があります。
パラメータは実行する度に渡され、PARAM_STRで受け取った引数にアクセスできます。改行コードは<#CR>、ダブルクォーテーションは<#DBL>、タブは<#TAB>で入力します。
以下はパラメータの例です。
第一引数:12、第二引数:51、第三引数:63を指定する場合。
第一引数:abc、第二引数:d eを指定する場合。
第一引数:"xyz"を指定する場合。
動作記録

記録ボタンを押してから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
- 大文字
- 小文字
- ひらがな
- カタカナ
- 半角文字
- 全角文字
設定

- 低レベル記録
- 低レベル記録は 単純にキーボードとマウスの押し下げ情報を座標と共に低レベル関数で記録します。
記録はマウスクリックかキー操作がされるか、又は マウス移動を0.5秒停止して開始した所から始まります。
- 余分な時間、マウス移動は記録しない
- ここがチェックされていれば マウス移動や余分な時間は記録されません
- マウス座標を相対座標で記録する
- ここがチェックされていれば マウスの座標はアクティブウィンドウに対しての座標で記録されます(後で位置調整の為スクリプトを修正するのであれば、こちら方が良いでしょう)
- 高レベル記録
- 高レベル記録は 高レベル関数を使用して記録します、座標は記録されません。オブジェクトの選択操作は必ずマウスでしてください、キーボードで選択操作をした場合は記録できません。操作はゆっくり実行してください、速いと取りこぼす事があります。多段メニューはメニューが出る毎にクリックを実行してください。記録できないアプリやオブジェクトがあります。
- 記録後クリップボードへコピーする
- 記録終了後、スクリプトをクリップボードへコピーします
- ホットキー
-
- 再生
- 再生ボタンのホットキーを設定します
- 停止
- 再生/記録の停止ホットキーを設定します
- 記録
- 記録ボタンのホットキーを設定します
- トレイ
- タスクトレイ出入りのホットキーを設定します
ホットキーは以下の組み合わせから選択します。
- 母体キー
-
- CTRL
- WIN
- ALT
- SHIFT+CTRL
- SHIFT+ALT
- CTRL+ALT
- 組み合わせるキー
-
- SPACE
- F1
- F2
- F3
- F4
- F9
- F10
- F11
- F12
- ↑
- ↓
- →
- ←
- Q
- W
- E
- R
- A
- S
- D
- F
- End
- Home
- F5
- F6
- F7
- F8
- T
- Y
- U
- I
- O
- P
- G
- H
- J
- K
- L
- Z
- X
- C
- V
- B
- N
- M
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 0
プルダウンメニューそのままの順番で書いていますが、組み合わせるキーはまとめると以下のようになります。
- アルファベット(A〜Z)
- 数字(0〜9)
- ファンクションキー(F1〜F12)
- スペース(Space)
- 矢印(上下左右)
- Home・End
- スケジューラー
- スクリプトのスケジュール設定画面を開きます。スケジュール設定を参照。
スケジュール設定

スクリプトのスケジュール設定ができます。スクリプトファイル名を設定してタイマー設定にて起動時間を指定してください。
休止状態から復帰するがチェックであればサスペンド状態からでも復帰し実行できます。ビープ音で知らせるがチェックであればスクリプト起動時にビープ音で知らせて間を2秒程取ります。
スクリプトの項目には、タイマーに登録するスクリプトのパスと実行回数を設定します。インプットボックスに直接パスを入力するか、...で登録するファイルを選択、実行回数を設定します。インプットボックスに直接入力する場合、スクリプトのパス -R<実行回数>の形式で入力します。実行回数が1回だけの場合スクリプトのパスと入力し、-Rnを省略することができます。
タイマーの項目(初期値:設定なし)を選択すると、実行するタイミングを設定できます。現在設定されている項目で設定なし、起動時、N分毎、H時間毎、HH:NN:<毎日|毎週|毎月>:<曜日|日付>、YYYYMMDD:HH:NN:一回。<式>、win:<Title>:<Class>のいずれかの形式が表示されます。
スケジュールしたスクリプトを実行するにはUWSCが起動している必要があります。毎日など設定している場合は、スタートアップにUWSC.exeを指定してタスクトレイに常駐させておくと良いです。
タイマー設定

- 設定なし
- タイマー設定を行いません。[設定なし]を選択し
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年からの経過分)を求めるプログラムです。
以下は現在のYMDNNを表示するプログラムです。1分毎に1ずつ増加されていきます。
論理演算子
論理演算子は、論理式や条件式を組み合わせて論理的な判定や演算を行うための演算子です。一般的には、論理演算子は真偽値(真または偽)を扱います。
| 演算子 | 意味 | 使用例 | 意味 |
|---|---|---|---|
| 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分
毎日0時00分、2時00分、4時00分、…、22時00分
休日(日または土)
日:0、土:6なので6で割った余りが0でも土日と判定できます。
平日(月〜金)
土日は6で割った余りが0だったので、平日は余りが0以外で判定できます。
min分毎に実行する場合は、剰余関数(MOD)を利用します。
20分毎に実行する場合は以下のようになります。毎時0分、20分、40分。
min分毎で実行日時をoffsetだけ時間をずらす場合は、以下のように記述します。
毎時5分、35分(min:30分毎、offset:+5分)
offsetがマイナス値になる場合は、以下のようにoffsetにminを加えます。
毎時17分、37分、57分(min:20分毎、offset:-3分)
17は-3+20(offset+min)から求められます。
以下の式はoffsetがマイナス値になるかどうかに関係なく使えます。
記述例
火曜日の0時と12時
18分間隔
分が00のとき(1時間毎)
分の一の位が「3」の時間(毎時3,13,23,33,43,53分)
分が55分以降(毎時55,56,57,58,59分)
休日(土日)の12:00
平日(月〜金)の18:00
毎月1日の0:00
存在しない変数や演算子を使ったとき、1年以内に実行する予定がないときは以下のメッセージが表示されます。


実行する日時が複雑な場合は、スクリプトを複数に分けてスケジュールに登録するのも良いと思います。
以下は式がマッチする日時を取得します。
5行目のFOR文で終了値を60 * 24 * 7(現在時刻から一週間までに一致する日時)にしてますが、もっと大きい値を入れるとより先の日時まで求められます。
- Main
- FUNCTIONS
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//////////////////////////////////////////////////
// 【引数】
// 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でクリップボードにマウスカーソル下のウインドウのタイトルとクラス名を送ります。
ランチメニュ
スクリプトファイルを登録しておき選択起動できます
(スクリプトファイル以外の EXEや関連付けされたファイル等も登録できます)
ホットキー設定により出現 タスクトレイ時は左ボタンにて出現
RecIE

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

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

プログラムが複雑になってくると実行時に間違いを見つけることは困難になります。そこでデバッグを行うことで効率的にコーディングすることができるようになります。
左側がスクリプトを記述するスクリプト表示領域、右側上段がグローバル変数表示、中段がローカル変数表示、下段がPRINT文 ログ表示でPRINT文で出力した内容が表示されます。出力するログの1行が長くなる場合は、1024文字毎に折り返されます。
.webp)
_ブレークポイント.webp)
_Local.webp)
行番号をクリックするとブレークポイントを設定でき、実行時にその行で一時停止させることができます。その時点での変数の値が右欄に表示されるため、間違いを見つけやすくなります。OPTION、PUBLIC、CONST、PROCEDURE、FUNCTION、TEXTBLOCK、ENDTEXTBLOCK、MODULEの行にはブレークポイントを設定することはできません。
グローバル・ローカル変数表示
モジュール
起動時パラメータ
配列
一次元配列
一次元セーフ配列
ニ次元配列
ニ次元セーフ配列
連想配列
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にあるメニューは以下の通りです。
- Script
-
プログラムはC:\Program Files(x86)\UWSC\DbgScript\にあります。
- Info Under MouseCursor
- マウスカーソル下の情報を取得します
- ObjectCharacter By Type
- 指定ウィンドウの全オブジェクトの文字を種類別に取得
- Object With Handle
- ハンドルを持つオブジェクトの情報取得
- PosAcc Search
- PosAcc関数にて画面をサーチし情報取得
- Option
-
- Cross Reference
- クロスリファレンスリスト(変数や関数の使用行表示)の起動。利用されていない変数や関数は赤で表示されます。行番号をダブルクリックするとデバッガをその行に移動します。
- Transparent Window...
- デバッガ自身もしくはデバッガに重なるアクティブWindowを透過処理
- Font / Color
- フォント設定や文字カラーの設定をします
- Uws2Exe
- EXE化ツールを起動します
- Help
-
- Debugger Help
- UDebugのヘルプ(UDebug.chm)を開きます。ファイルのパスはC:\Program Files (x86)\UWSC\UDebug.chmです。
- UWSC Help
- UWSCのヘルプ(uwsc.chm)を開きます。ファイルのパスはC:\Program Files (x86)\UWSC\uwsc.chmです。
- .INI/.LOG Folder
- エクスプローラにて、UDebug.INIのあるフォルダを開きます。フォルダのパスはC:\Users\username\AppData\Roaming\UWSC\です。
- 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
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
Font / Color

エディタのフォントと色を設定します。
- Tab
- タブ幅を指定します。
- Font
- フォントを指定します。
- Font Color
- ベースの文字色を設定します。
- Background
- 背景色を指定します。
- 構文
- 構文(その他項目)の文字色を指定。
- 定数
- 定数(その他項目)の文字色を指定。
- 特殊変数
- 特殊変数(その他項目)の文字色を指定。
- コメント
- コメント部分(ダブルスラッシュ)箇所の文字色を指定。
- UWSC関数
- UWSC関数(その他項目)の文字色を指定。
- 文字列
- ダブルクォーテーション("文字列")で囲まれた範囲の文字色を指定。
太字・斜体にする場合はチェックボックスにチェックを入れます。
Uws2Exe

UWSCファイルをEXEファイルにします。EXE化後は単体での実行が可能で、ライセンスフリーにて配布できます。
完成したスクリプトまたは改竄されたくないスクリプトをEXE化するときに使います。
UWSCをインストールしていない環境でも実行することができます。
- EXE化するスクリプトを指定してください
- EXE化するファイルを指定またはウィンドウ上にドラッグします。複数ファイルで構成されている場合は、トップのスクリプトを指定します。
CALL文で呼ばれるファイル、CREATEFORM関数のHTMLファイル、CHKIMG関数の画像ファイルは自動で取り込まれます、変数でファイル名が指定されている場合は取り込みません。
(HTML画面に関しては下記HTML画面使用にてを参照) - アイコンの変更
- アイコンを変更するときはチェックを入れ、拡張子が*.ICOのファイルを指定してください。PNG、JPEG、GIF、BMPの画像をアイコンに変更するには以下のリンクを利用してください。
- PNGからICO — アイコン作成 — Convertio
- JPGをICOに変換 オンライン — Convertio
- GIFをICOに変換 — オンライン — Convertio
- BMPをICOに変換 — オンライン — Convertio
- 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化するスクリプトの先頭に記述しておきます。
実行停止について
INIファイルの作成が有効の場合には、UWSCの停止ホットキーと同じキーが引き継がれます。
他の停止方法としては、タスクバーのアイコン上で右クリックして閉じる(C)を選択、またはSETHOTKEY関数にて定義してください。
コマンドラインからの起動
オプションは/もしくは-の後に連続で表記します。オプションは順不同で指定できます。
| オプション | 内容 |
|---|---|
| S | STOPボタンを出さない |
| T | タスクバーに出さない |
| I | INIファイルを作らない |
| L | ログファイルを作らない |
| B | BMPファイルを取り込まない |
| M | 多重起動を許さない |
| U | EXEファイルをの圧縮(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ファイルを作成することが可能です。
ファイル名を指定して実行やコマンドプロンプトからiexpress.exeを入力し、IExpress Wizardを起動します。
Create new SelfExtraction Directive file.を選択し次へ。

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

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

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

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

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

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

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

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

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


Configure restartと表示されるので、No restartを選択し次へ。

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

Create packageと表示されるので次へ。

完了を選択し終了します。

Cross Reference(XRef・クロスリファレンス)
UWSC Debuggerの[Option]->[Cross Reference]から起動。保存されていないファイルの場合は実行できません。ファイルを保存してから実行します。
変数や関数が使われている行番号を一覧で出力します。宣言・定義はしているのに利用されていない変数や関数は赤字で表示されます。

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

















