見出し画像

自動化をめぐる長い長い旅

こんにちは!なるーらぼです。今回は自動化にまつわるお話です。
AmazonでUWSCという自動化ツールについての電子書籍を販売しているのですが、一昨日にそのことを忘れていたことに気づきまして。意外と買っていただいているのだということを知りました。
ほんとうにありがとうございます。

UWSCというものをご存知ないかもしれませんが、つい数年前まで存在していたWindows専用ソフトウェアでして、マウス操作やキー操作などをマクロのように記録して、それを実行することでWindows操作を自動化することができるというものです。

いまではRPAという名前が通っていまして、そんなものよりもはるか昔から多くの方の自動化を助けてきたソフトウェアでした。「でした」という過去形をつかっているのには理由があります。現在はVectorで配布されている無償版のみで、本家というか販売元は既に存在しないからです。

わたしが先述しました書籍を販売して1年ほど経ったころ、iOSで読むことができないというレビューがつきまして(その節は申し訳ないです)書き直しました。その際に久しぶりに動作も確認しようとしたところ公式サイトにアクセスできなくなっていることに気づきました。どうもそのころには閉鎖してしまっていたようでした。
書籍を出版したころにはVSCodeの拡張をつくって公開したりとしていたのに、閉鎖の理由は追及しておりませんでした。というのも、いろいろ都合があるだろうと思っていたためです。

そして一昨日、「懐かしいな」と思いいろいろ調べてみたところUWSCが入手できなくなって途方に暮れている方がそこそこいらしたということに気づきました。そして代替のソフトウェアを探しているようでした。無償版でもあそこまでのものですので、それもそうかもしれません。ただ、代替のものだとこれまでの資産(UWSCスクリプトたち、ですね)を破棄するかつくりなおす必要があります。そこで現在、有志の方が「UWSCR」というものを開発しはじめているということを知りました。Campfireというサービスで寄付を募っているようです(\1,000/月)。12月末にバージョンが0.1.2に到達したくらいの、まだ始まって2か月くらいのプロジェクトでした。本当に素晴らしいことだと思います。

一方で、代替ソフトウェアのほうもわたしなりに探してみたところ、海外では絶大な人気を誇る老舗ソフトウェア「AutoHotKey」とRPAで有名な「UiPath」がよさそうに見えました。

AutoHotKeyはこれまた独自のスクリプト言語でUWSCと同様なことができます。もともとはキーの動作を入れ替えるために開発されたそうですが、リファレンスなどを見てもすさまじいものだということがわかりました。なにしろ、このスクリプトはGUIをつくることすらできます。もはやプログラミング言語と言ってもよさそうです。このツールのフロントエンドとして「MacroCreator」というソフトウェアがあります。ソースコードもGitHubで公開されているのですが、エディタにも関わらずほぼAutoHotKeyで記述されているというものです。AutoHotKeyのポテンシャルの高さと言いますか…すごいとしか言いようがありませんでした。

AutoHotKey自体はちょっとしたスクリプトにも便利そうだなということもちょこっとですが使ってみてわかりました。ここまでWindows APIを駆使しているとVBScriptというかWSHのような手触りを感じます。おそらくやろうと思えば業務アプリも作れなくはない…?かもしれません。

公式サイト
https://autohotkey.com/

もうひとつの「UiPath」のほうもCommunity版のような無償利用できるエディションがありましたので少しですが使ってみました。こちらはまさかのXAML(ざむる、と読みます)で、「.NetFramework」の世界でした。最終的につくったものをチームにパブリッシュしたあと、どうやって使うものなのかまではまだわかっていません。もうちょっと使ってみないといけないな、とは思うものの「非プログラマでも」というようなうたい文句は合わないな、と感じています。ふつうに「.Net」のスタックトレース(エラーとそこに至るまでの流れ)がどばーっと出力されるのですが、PowerShellのような「エラーですよ」程度のものです。あれはつらいのでは…有償版のStudioXであれば、きっとそうでもないのだと思います。

公式サイト
https://www.uipath.com/ja/

最後に、UiPathのようなRPAとUWSCやVBAによるマクロとは何が違うのか、ということを考えてみました。
VBAによるマクロが自動化するのは、そもそもの目的であるOffice文書作成の自動化です。それ以上のことがこれまでもできていたので違和感があるのですが、おそらくやろうと思えばマウスやキー入力の操作くらいはVBAでも余裕だと思います。Seleniumをつかった最近のブラウザの自動化もきっと実現できるでしょう。
わたしが思う最大のちがいは、「業務というざっくりとした物事の自動化かどうか」だと思います。VBAはこまごまと「かゆいところに手が届く」ものになると思いますが、Officeの自動化ツールです。Excelアドインも実質はそういうものです。そうしたものたちを「プロセス」に閉じ込めて「ワークフロー」にできるものがRPAと呼ばれる一式なのだと思います。
どちらにすべきか?と悩むときには自動化する範囲が「プロセス」なのか一連の流れなのか、そのあたりを確認すると幸せになれたりするのかもしれません。

コードを書く、少し書く、書かない、のいずれであっても「何をどうロボットに任せるか」は人間が考えなければならないものです。わたしも気が向いたらもう少し掘り下げてみたいと思います。

いいなと思ったら応援しよう!