会社の業務でWinActorを使って業務の自動化を行うことになりました。
2ヶ月ほど経過し、先ずは所感とほかのビジュアル言語やテキスト言語との簡単な比較をしてみようかと思います。
ビジュアル言語としての評価
見やすさ
フローチャートもどきと思えばそんな感じですが、分岐文が増えたり、多重分岐を行うとあっという間に画像の横幅が肥大化してしまいます。
ある操作の結果などは分岐パターンが増えやすくあっという間に見にくくなります。
この辺りは一長一短ですが、LabVIEWのように[Ctrl]+ホイールスクロールで切り替えられる方が見た目は綺麗です。
(ただし、私は全体を見渡せないのでこのLabVIEW方式も嫌いですが)
ループ処理は枠で囲まれるので見やすいですが、枠内の色が少ない(もしかしたら1色?)なので、分かりにくいです。
巨大なループ処理は本当に対応がわからなくなりますが、
この辺りは、処理をグループ化して、1つの枠に収めて、枠を畳むとましになります。
(グループ化によってまた枠が増えるので、開いた時には見にくさは倍増しますが)
テキスト言語と比較して
ノードと呼ばれる処理ブロックをD&Dすることで処理ができていくので、テキスト言語のようにライブラリを覚えないで済むのは楽だと思います。(まぁライブラリを探す手間だったり、探した結果なかったりするときの脱力感は大きいです)
WinActorの評価
全体
ノンプログラマーでも可能な言語となっていますが、あくまでも単純なことならという前提が必要かと思います。
複雑なことをするには可読性が落ちるので、別途フローチャートを書いた方がわかりやすいです。
(個人的にはフローチャートも見にくいので、PADを使わせてもらっています)
WinActor自体は既存の処理ブロックに存在しないものは自分でWBScriptで作成できますが、これをやったら、半分はテキスト言語じゃないかと思うと微妙です。
もっとデフォルトの処理ブロックの充実が欲しいです。
開発に関して
提供されているライブラリの説明はとても分かりにくく、自分たちで試して理解することが多く、社内での情報共有が
必要です。
一度サポートへの問合せもしてみましたが、有効な回答ではなく結局自力解決することになるかと思います。
デバッグに関して
部分実行はできますが、変数がクリアされているので、うまく作り込んでおかないとほぼ不可能です。
また、ステップ実行や指定位置へのブランチもないので基本的にはダイアログを表示させて、止める。
止まってもそのタイミングで処理を変更したりはできないので、せいぜい変数値を確認・更新程度です。
その変数の確認も次のノードでどの変数を参照しているか事前に確認しておかないとノードの中身は確認できないので、VBAやVisual Studioのデバッグに慣れていると正直きついです。
運用に関して
運用においても、エラーの発生状況などは実行ログからしか解析できずにどのような異常かを特定するのは単体ではほぼ不可能です。
開発ライセンスと実行ライセンスがあり、うちの会社では開発環境と実行環境を分離していますが、開発環境では動作するが、実行環境ではエラーが発生することもあり、困りものです。
また、上記デバッグのためのダイアログ表示を削除し忘れると実行環境でもダイアログが表示され、せっかくの業務の自動化が停止しています。
とまぁ正直毎度苦しんでいますが、WinActorネタ(書ける範囲になりますが)も投稿しようかと思います。