じっぱひとからげスマートフォン用の表示で見るじっぱひとからげ十把一絡げになんでもかんでもつづる。Editionのインストール方法については、Qiitaにまとめがあるのでこちらを参照して欲しい。qiita.comUiPathを利用した2つの作り込みの方法まずはプロジェクトを作成する下準備:使えるアクティビティをすべてインストールする準備が整ったところでRecordingしてみるテーマと背景ブラウザを開き指定のURLを開くまず、ブラウザと開くURLを設定するブラウザの自動起動&指定サイトを開く動作を再生してみるRecordingの続きからログイン情報入力をRecordingするUiPathの優秀なところWaitをいい感じに入れてくれるUiPathパスワードは暗号化して保存されるまとめ続きはこちらUiPath入門シリーズはこちらUiPathを利用した2つの作り込みの方法UiPathの自動化の作り込みの方法は大きく分けて以下2つがある。(2)いずれの方法でも自動化の作り込みが簡単にできる。(1)で作ったものを(2)でメンテナンスすることもできるし、(2)で作ったものに(1)で付け足すことも可能だ。ここではまず、もっとも簡単な(1)のRecordingを利用した作り込みの方法を説明する。Processの4つがあるがまずは空のプロジェクトであるBlankを選択する。Nameに任意のプロジェクト名を設定する。Locationは保存するパス、Descriptionにはプロジェクトに関する任意のコメントをつけられる。入力を終えたらCreateをクリックする。これでまずはからのプロジェクトが出来上がり。今後の説明のために画面の各ペインについて説明しておく。ペインは自分の作業のし易いようにドラッグ&ドロップでレイアウトを変更できるが、説明の都合上デフォルト配置のまま進めることにする。大きく分けて3つのエリアを利用して作業を進める。StudioなどのIDEを似たような構成になっているので、馴染みやすい人も多いかもしれない。(1)アクティビティUiPathの自動化操作の最小単位を「アクティビティ」と呼び、このアクティビティペインの中に部品として定義されている。UiPathではこのアクティビティをつなげて自動化のシナリオを作成していくことになる。(2)ワークフローデザイナワークフローデザイナ上にアクティビティを配置する。具体的にはアクティビティペインからワークフローデザイナにドラッグ&ドロップすることで配置ができるので、必要な部品をアクティビティペインのSearchから検索して、配置するという繰り返しによって自動化シナリオを作成する。本記事で紹介するRecordingによって実行した作業はアクティビティとしてこのワークフロー上に記録される。(3)プロパティ各アクティビティに対するパラメータを指定する。Editionはデフォルトで最小限のアクティビティしか用意されていないので、使うかどうかはさておき、使えるものはすべて使える状態にしておきたい。アクティビティペインの「パッケージマネージャ」アイコンをクリックする。AvailableのAllを選択すると、現在インターネット上からダウンロード&インストールできるパッケージの一覧が表示される。必要に応じてインストールすれば良いが、RPAは「与えられた道具の中でいかに実装するか」というアイディアによって作り方が決まることもあるので、使える道具は使える状態にしておいたほうが良い。名前からも想像がつくと思うが、MicrsoftのOffice製品、例えばExcelを操るためのアクティビティもパッケージとして提供されているので、RPAで自動化したいExcelまわりの定型作業もこれらのパッケージのアクティビティを利用することで簡単に実装できる。インストール後はアクティビティの数が増えている。これで使える道具が増えた。思う自動化テーマを実装するという流れで説明することにする。テーマと背景(1)zaimにログインする(今回はここまで)↓(2)家計簿データをダウンロードする↓(2)家計簿から「未分類」を抽出する↓(3)LINEに未分類の一覧を通知するわが家の家計簿はzaimで管理されている。基本的にはクレジットカードの利用履歴や銀行の口座情報はすべてzaimに魂を売ることで登録は自動化されている。zaimも万能ではないので登録された費目が判別できずに「未分類」となってしまうケースも存在する。この「未分類」については月末に棚卸しをするときに「これなんだっけ」と言いながら記憶を頼りに思い出すという活動は意外と面倒なので、記憶の鮮度が高いうちに通知を受けて、都度更新することを促すことを目的としている。zaimユーザではない人は、TwitterでもFacebookでもGoogleでもなんでも良い。WebサービスにユーザIDとパスワードを入力するような画面で試してみて欲しい。ブラウザを開き指定のURLを開くまず、ブラウザと開くURLを設定するRecordingボタンを押し、「Web」を選択する。Recording時のモードはBasic、Desktop、Web、Citrixと4つに分かれているが、詳しい説明はここでは割愛する。ブラウザで動くWebアプリを操作する場合は、Webを選択しておけば良い。Recordingのメニューから、OpenBrowzerを選択する。事前に目的のサイトを開いておいたブラウザにカーソルを運んでクリックする(ブラウザ上のどこでも良い。マウスオーバーで全体が選択されるように色が変わる)と、メッセージボックスにサイトのURLが抽出されるので「OK」をクリックする。ExitでRecordingを保存してみる。画面中央のワークフローデザイナにアクティビティが追加されているのが確認できる。このアクティビティは、Recordingで指定した「ブラウザ」に対して「URL」を入力して開くという動作が記録されている。この時点でこのワークフローを再生すれば、自動的にInternetExplorerが起動し、zaimのログイン画面を表示することになる。ブラウザの自動起動&指定サイトを開く動作を再生してみるただブラウザを開き、指定したサイトを開くというだけの自動実行を体験してみよう。動画の再生ボタンのようなRunをクリックする。クリックした瞬間にUiPathの画面が最小化され、InternetExplorerが起動し、zaimのログイン画面が表示される。いまはまだこれだけだ。このように少しずつRecordingしてはデバッグし、Recordingしてはデバッグするという流れで自動化を作り込んでいく。/Step-over)も用意されているがまだここでは紹介しない。次はログイン情報を実際に入力させてみる。Recordingの続きからログイン情報入力をRecordingするRunを押してInternetExplorerが起動し、ログイン画面が出てきたところで再びUiPathの画面に戻ってくるので、この画面のままここでRecordingボタンを押す。先ほどとおなじWebモードでRecordingする。メールかIDと書かれたフォームをクリックすると、UiPathの独自仕様のメッセージボックスが表示される。このままこのメッセージボックスに従ってメールアドレスやIDを入力するだけで良い。下のチェックボックスは、以下2つの動作を付加するようになっている。passwordここにチェックを入れると、入力される文字列が第三者に知られてはならないパスワードであることを意図した扱いにできる。具体的には、入力された文字列がUiPath上でも閲覧できないように●●●●●●●という形で表現する他、UiPathのプロジェクトファイルには平文で出力されず、暗号化された形で保存される。このあたりはUiPathのかゆいところに手が届く仕様だ。どのように使われていることが強く意識されている。Field入力前にすでにフィールドに文字列が入っていた場合は「まず空っぽにしてから入力」する。基本はチェックを入れておいたほうが良いケースのほうが多いだろう。実際に、パスワードを入力する。ログインボタンを押す。ログイン後の画面は、わが家の家計が丸出しなので省略するとして、ログインが正常に完了したら上記手順同様Save&ExitでUiPathの画面に戻る。ここで一つ非常に重要なことを覚えておいて欲しい。Recordingを中止するには右クリックを押すさて、とりあえずここまでRecordingしたから止めよう。いうときは「右クリック」。これはUiPathの公式の使い方動画を見ていても気が付かない。Recordingを開始して、Recordingが終わったら右クリック。これは非常に利用頻度が高いので覚えておいて欲しい。いうわけで、メールアドレスとパスワードを入力し終えたら、「右クリック」をおして「Save&Exit」。さきほどの、ブラウザを開いて指定したURLを開くというアクティビティの下に、新しいアクティビティが生成されているのがわかる。ここまできたら、例によって動作させてみよう。始めるまえにzaimをログアウトしてから、InternetExplorerを閉じる。気づいている人もいると思うが、ここであえてzaimをログアウトしているのは、Cookieにログイン情報が残っていると、ログイン画面がすっとばされて、せっかく作ったログインシナリオが動作しないからだ。自動化は「どのような画面から始まるのか」を想定してつくる必要があるので、ログインしていない前提で動き始めるのか、ログインしている前提で動き始めるのか、はたまた、ログインしているかどうかifで分岐するのか、といった設計も必要になってくる。これはUiPathだから、RPAだからという話ではない。情報処理における一般的な話である。zaimユーザではない人は試しにGoogleの検索窓にでも文字列を入力してみると良いかもしれない。やりたいことをやりたい通りにRecordingするだけで自動化が実装できるのはUiPathの強みであるといえる。ブラウザを起動し、目的のサイトを開き、ログインするところまでの作業をRecordingで取り込むことができた。UiPathの優秀なところWaitをいい感じに入れてくれるUiPathブラウザを起動したり、サイトを開いたり、リンクしたり、という一連の流れの中で「読み込み時間が長すぎたらどうする」ということが気になる人もいるかもしれない。事実、他のRPAツールでは次の画面に遷移しようとするときに、次の画面に登場することがわかっているelementが現れるまで待つということを具体的に指示しなければならないものもある。ここで画面遷移が完了したことを明示的に理解させておかなければ、画面遷移前にメールアドレスやパスワードを入力しようとして「そんな入力先はない」と入力先がnullであることを示すエラーを返すものもある。UiPathはやりたいことだけに集中していれば、前後の「だいたいの場合は必要になるであろう前処理・後処理」は意識せずに実装ができてしまうのである。ブラウザとExcelなど複数プロセスをまたいだ処理の場合は、UiPathでも明示的にWaitを設定する必要が出てくるが、同じプロセスや同じWebアプリの中の処理を継続する場合であれば、やりたいことをサクサク実装できる。Password」を利用して入力された文字列は、UiPath上は以下のように暗号化されて保存される。暗号化された文字列をフォームに入力したい場合は変数として用意された"Password1"として扱うことになる。RPAは「人の代わりに定型作業を実行する」という思想に基づくものであるという性質上、「その人」とおなじ権限」を持つ必要が出てくる。IDは1:1」というように人に紐付かないIDを許容しないというセキュリティポリシーの業務アプリケーションもあることだろう。このようなことが事実としてあるということを見越したかのように、ユーザIDやパスワードを暗号化して保存することを標準機能として搭載しているあたりは、やはりかゆいところに手が届くと評価せざるを得ない。まとめ(1)zaimにログインする(今回はここまで)↓(2)家計簿データをダウンロードする↓(2)家計簿から「未分類」を抽出する↓(3)LINEに未分類の一覧を通知するひとまず、ブラウザを起動し、ログインするところまでの自動化を実装できた。次回は、作り進めていく上でデバッグを行う方法と作業をしやすくするためにワークフローを見やすくする方法について説明を予定している。英会話を始めて5ヶ月目に突入した。はてなブログProSIerを5年ほど経験してから、ユーザ企業の情シスで社内SEをやっています。(1)スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。