UWSCって色々な事ができると聞くけど、何から始めればよいのか分からない
初めから簡単に学べないかな?
本講座では、UWSC初心者さんのために、UWSCを超丁寧に解説します。
初回はインストールから簡単なスクリプトの作成まで行います。
本講座に適した人
- ExcelVBAは少し組める(プログラムの知識は少しある)
→プログラムについては知識がある前提で解説していきます。 - UWSCは完全に初心者
→初歩的な内容から始めるため初心者向けです - 業務改善に熱く燃えている(ここ重要!)
→業務改善は継続が命!気持ちが一番大切です!
インストール
UWSC
以下のVectorのサイトから最新版のUWSCをダウンロードします。
ダウンロードしたら、zipファイルを適当な場所に解凍してください。これでインストール作業は終了です。
VisualStudio Code
UWSCを制御するスクリプト(動作のシナリオ)ファイルを修正するためのソフトです。
Windows標準のメモ帳でも出来なくはありませんが、コード補完や、色分けの機能があるため、圧倒的にこちらが使いやすいです。
以下のページを開き、32bitか64bit、PCのbit数に合ったほうをダウンロードします。
(補足)32bitか64bitか確認する方法
WindowsマークとRキーを同時に押して出てくる窓に【msinfo32】と入力してOKを押してください。
【システムの種類】の欄がx64となっていれば、64bit、x86となっていれば、32bitです。
インストールは基本的に次へ次へで進めて良いですが、以下の画面が出たら図の2か所にチェックを入れておくと、右クリックからVSCodeが起動できて便利です。
サンプルスクリプトの実行
解凍したuwscフォルダに【サンプル.uws】というファイルがあるので、試しに実行してみます。
サンプル.uwsをuwsc.exeにドラッグ&ドロップしてください。
動作の様子は、以下の動画をご覧ください。
色々動いてはいますが、何がすごいのか分からないという方も多いかと思います。私もそうでした。
このサンプルには、実は、技術的要素が多く詰まっていて以下のような事をアピールしています。
- 任意のファイルを起動できる
- 任意のキーを自動入力できる
- 任意のボタンを押すことができる
- マウスの任意の位置に動かすことができる
- 吹き出しでテキストを表示することができる
- 処理をループで回すことができる
ファイルを起動し、マウスを操作したり、キーを入力し、ボタンをクリックしたり、同じ作業を繰り返したりと、人間がPCでやる作業そのままですよね。
よって、これらの機能を使いこなせば、ルーチンワークの内、結構な作業が自動化できてしまうんです。
スクリプトの作成
VBCodeのUWSCアドインのインストール
VSCodeを開き、①のアイコンをクリックし、②の欄に「uwsc」と入力すると、③のようにUWSCのアドインが表示されるので、インストールします。
スクリプトファイルの新規作成
左上のファイル→新しいファイルをクリックし、空のファイルを作成します。まずは、ファイルを起動するスクリプトを書いてみましょう。
今回作成するスクリプトの流れは以下の通りです。
- メモ帳を起動
- メモ帳に文字を入力
- メモ帳を保存
メモ帳の起動
////メモ帳起動デモ////
//メモ帳の起動
id=Exec("C:\windows\notepad.exe")
//はコメントアウト行のため、実行時は無視されます。
主にメモや説明用に使用されます。
また、大文字小文字は区別しないため、どちらでもOKです。
UWSCの公式サイトでは全て大文字で記述されていることが多いですが、見づらいので私は単語の先頭のみ大文字にしています。
Exec(“C:\windows\notepad.exe”)の部分でメモ帳を起動しています。
id=Exec([起動するプログラムのフルpath])で、任意のファイルを起動しidを取得できます。メモ帳に限れば単に”notepad”でも起動できます。
UWSCでは、操作する画面を特定するためにidを指定するため、idの取得は大変重要な処理になります。必ず変数として保持しておきましょう。
これで実行してみてください。メモ帳が立ち上がったかと思います。
メモ帳に文字列を入力
次にメモ帳に文字を入力してみます。
Sleep([秒数])でメモ帳が完全に起動するまでの間、任意の秒待ち受けています。例では5秒待ち受けています。
次にSendStr([id],[文字列])でメモ帳にテキストを入力しています。指定したidに、任意の文字列を入力する関数です。
////メモ帳起動デモ////
//メモ帳の起動
id=Exec("C:\windows\notepad.exe")
//起動まで待ち受け
Sleep(5)
//ALT+N を送る
SendStr(id,"UWSC メモ帳起動TEST")
メモ帳を保存
ファイルを保存してみます。ScKey([id],[仮想キーコード](,[仮想キーコード],…))でショートカットキーを入力しています。
キーの指定方法が少し特殊で『仮想キーコード』というものを使用します。例ではALT + F + S を入力しています。 代表的な仮想キーコードの一覧は、次の表で説明しています。
////メモ帳起動デモ////
//メモ帳を起動
id=Exec("C:\windows\notepad.exe")
//起動まで待ち受け
Sleep(5)
//ALT+N を送る
SendStr(id,"UWSC メモ帳起動TEST")
Sleep(5)
//ファイル
ScKey(id,VK_ALT,VK_F)
Sleep(3)
//ファイル - 保存
ScKey(id,VK_S)
Sleep(5)
//ファイル名を指定
id2=GetID("名前を付けて保存")
ScKey(id2,VK_ALT,VK_N)
SendStr(id2,"TEST01")
Sleep(5)
//保存ボタン
ScKey(id2,VK_ALT,VK_S)
//メモ帳を終了
ScKey(id,VK_ALT,VK_F,VK_X)
VK_ALT | ALTキー |
VK_RETURN | Enterキー |
VK_SHIFT | Shiftキー |
VK_CONTROL | Crtlキー |
VK_TAB | Tabキー |
VK_〇 | 〇キー。〇は任意のアルファベットが入る |
名前を付けて保存のダイアログが表示されるので、ここのボタンをクリックしていきます。
ここで重要なことが、別の画面が表示された場合は、再度idを取得する必要があるということです。
これを忘れていると、画面が操作できずにハマります。
id=GetID([タイトル名])で画面のタイトル名を指定して、画面のidを取得しています。タイトル名は画面の左上に表示されるタイトルの事です。
ScKeyでALT+Nを入力し、名称欄にTEST01と入力し、ALT+Sを入力し保存しています。
最後に、ALT+F+Sを入力してメモ帳を閉じています。
フキダシの表示
仕上げに、FUKIDASI([文字列])で吹き出しを表示します。何も表示しなくても動作には問題ないのですが、何をしている状態が分かり易くするために表示させています。
記述しなくても、動作には影響はありません。
////メモ帳起動デモ////
FUKIDASI("メモ帳起動")
//メモ帳を起動
id=Exec("C:\windows\notepad.exe")
//起動まで待ち受け
Sleep(5)
//ALT+N を送る
SendStr(id,"UWSC メモ帳起動TEST")
Sleep(5)
FUKIDASI("保存")
//ファイル
ScKey(id,VK_ALT,VK_F)
Sleep(3)
//ファイル - 保存
ScKey(id,VK_S)
Sleep(5)
//ファイル名を指定
id2=GetID("名前を付けて保存")
ScKey(id2,VK_ALT,VK_N)
SendStr(id2,"TEST01")
Sleep(5)
//保存ボタン
ScKey(id2,VK_ALT,VK_S)
FUKIDASI("メモ帳終了")
//メモ帳を終了
ScKey(id,VK_ALT,VK_F,VK_X)
まとめ
UWSCのインストールから、簡単なスクリプトの作成方法までを紹介しました。次回は利用頻度の高いWeb画面の操作について解説していきたいと思います。
UWSCの書籍は、かなり少なく学習に苦労しますが、数少ないUWSCを取り扱った書籍がこちらです。
UWSCの他に自動化の王道といえばExcelマクロです。マクロを併せて学びたい方はこちらもお勧めです。
コメント